将前面这个代码和下面这段代码进行比较,说出区别: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 17:27:06 浏览: 18
这两段代码的主要区别在于:
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; package base; public class scaner { public static void main(String[] args) { } } 改错
在代码的开头处移除多余的import语句,将package语句放在import语句后面,同时将类名从"scaner"改为"Scanner",修正后的代码如下:
```java
package base;
import java.util.Scanner;
public class ScannerExample {
public static void main(String[] args) {
// 在这里编写你的代码
}
}
```
请注意,你需要在`main`方法中编写你的代码,这只是一个修正后的代码框架。
将这个代码补充完整package step1; /** * @author pengzheng */ [代码] // 导入数组工具类 Arrays import java.util.Scanner; public class TestIntArray { public static void main(String[] args) { … } } }
package step1;
// 导入数组工具类 Arrays
import java.util.Arrays;
import java.util.Scanner;
public class TestIntArray {
public static void main(String[] args) {
// 创建Scanner对象
Scanner scanner = new Scanner(System.in);
// 读取数组长度
System.out.print("请输入数组长度:");
int length = scanner.nextInt();
// 创建数组
int[] arr = new int[length];
// 循环读取数组元素
for (int i = 0; i < length; i++) {
System.out.print("请输入数组第" + (i + 1) + "个元素:");
arr[i] = scanner.nextInt();
}
// 输出数组
System.out.println("输入的数组为:" + Arrays.toString(arr));
}
}