将前面这个代码和下面这段代码进行比较,说出区别:import java.util.Scanner; public class Main{ public static void main(String[] arys){ int i=0; int n=0; Scanner sc=new Scanner(System.in); circle l=new circle(); // l.circle(); System.out.println(l.toString()); l.getArea(); // l.circle(); circle c=new circle(); System.out.println(c.toString()); c.getArea(); while(sc.hasNext()){ i=sc.nextInt(); if(i<=0){ i=2; } c.setRadius(i); System.out.println(c.toString()); c.getArea(); n=sc.nextInt(); if(n<=0){ n=2; } l.circle(n); System.out.println(l.toString()); l.getArea(); } } } class circle{ private int radius; public circle(){ this.radius=2; System.out.println("This is a constructor with no para."); } public void circle(int radius){ this.radius=radius; System.out.println("This is a constructor with para."); } public void setRadius(int radius){ this.radius=radius; } public int getRadius(){ return radius; } public String toString(){ return "Circle [radius="+radius+"]"; } public void getArea(){ // System.out.println(this.radius); double o=this.radius*this.radius*Math.PI; System.out.printf("%.2f",o); System.out.print("\n"); } }
时间: 2024-04-28 20:27:06 浏览: 140
这两段代码的主要区别在于:
1. 类名和构造函数的命名不同
第一段代码的类名为"Circle",构造函数的命名为"Circle()"和"Circle(int radius)";而第二段代码的类名为"circle",构造函数的命名为"circle()"和"circle(int radius)"。注意类名应该首字母大写,构造函数也应该与类名相同,同时不需要返回类型。
2. 对象创建方式不同
在第一段代码中,对象的创建方式是"Circle c1=new Circle()"和"Circle c2=new Circle(sc.nextInt())";而在第二段代码中,对象的创建方式是"circle l=new circle()"和"circle c=new circle()"。注意类名和构造函数的命名应该与代码一致。
3. 方法调用方式不同
在第一段代码中,方法调用方式是"l.getArea()"和"c.getArea()";而在第二段代码中,方法调用方式是"l.circle(n)"和"c.getArea()"。注意方法名应该与代码一致。
4. 第二段代码中circle(int radius)方法的作用
第二段代码中,circle(int radius)方法被定义为public void类型,但实际上它并不是一个构造函数,而是一个普通方法。这个方法的作用是设置圆的半径,但因为它的命名和返回类型与构造函数不同,可能会导致代码的混淆和错误。
综上所述,第一段代码更规范、更易读、更易于理解和维护。
相关问题
import java.util.Scanner; public class Main { public static void main(String[] args) {
`import java.util.Scanner;` 这行代码是在Java程序中导入`java.util.Scanner`包的关键字。`Scanner`是Java提供的一种用于处理用户输入的类,它允许开发者从控制台读取数据,如整数、浮点数、字符串等。在`main`函数开始之前,通常会引入这个包以便在程序中创建`Scanner`对象来获取用户的输入。
接下来的`public class Main { ... }`这部分定义了一个名为`Main`的公共类,这是Java应用程序的标准入口点。所有的Java程序都会有一个`main`方法,它是程序运行的起点。在这个类里,你可以编写初始化代码,执行业务逻辑,以及调用其他方法。
在`main`函数的具体内容中,通常会看到类似这样的结构:
```java
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); // 创建Scanner对象
System.out.println("请输入一些信息:"); // 提示用户
int input = scanner.nextInt(); // 读取用户输入的整数
// 更多的逻辑操作...
scanner.close(); // 关闭扫描器以释放资源
}
```
这里,我们创建了一个`Scanner`实例,并通过`nextInt()`方法获取用户输入的整数值。
解释Java代码:import java.util.Scanner;//导入java.util包下的Scanner类 public class cr{ //用了public class 进行了声明,则类名称必须与文件名称完全一致。 public static void main(String[] args) { Scanner sc = new Scanner(System.in); //这里是使用Scanner类创建一个对象,对象名为sc。 System
该Java代码的前半部分是导入了Java标准库中的java.util包下的Scanner类,这个类用于从控制台获取用户输入。
接着定义了一个名为"cr"的public类,该类中包含了一个名为"main"的公共静态方法,该方法的参数是一个String类型的数组"args"。在该方法中,使用"Scanner"类创建了一个名为"sc"的对象,这个对象用于从控制台读取用户输入。然后使用"System.out"打印了一条消息,但是由于代码截断了,所以无法看到完整的代码。
阅读全文