import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner sc=new Scanner(System.in); double a=sc.nextDouble(); Square sq=new Square(a);//传参边长a System.out.printf("%.0f ",sq.S()); System.out.printf("%.0f\n",sq.C()); } } class Rectangle{ double a; double b; Rectangle(double a,double b){ this.a=a; this.b=b; } public double getS(){ return a*b; } public double getC(){ return a*2+b*2; } } class Square extends Rectangle{ double l;//Rectangle类中有了a、b,所以在子类中要重新定义一个不同的名称 Square(double a){ super(a,a); this.l=a; }/ public double C(){ return 4*l; } public double S(){ return l*l; } }
时间: 2023-06-16 12:07:16 浏览: 87
这是一个Java程序,实现了计算正方形的面积和周长。其中,Square类继承了Rectangle类,重写了计算面积和周长的方法。具体实现如下:
1. 首先,定义了Rectangle类,包含两个成员变量a和b,分别表示矩形的长和宽。构造函数中初始化这两个变量。定义了计算矩形面积和周长的方法getS()和getC()。
2. 接着,定义了Square类,继承了Rectangle类。在构造函数中,调用了父类的构造函数,初始化了a和b,因为正方形的长和宽相等,所以传入了两个相同的参数a。Square类中新增了一个成员变量l,表示正方形的边长。同时,重写了计算正方形面积和周长的方法S()和C()。
3. 在主函数中,首先通过Scanner类获取用户输入的正方形边长a,然后创建Square对象sq,传入边长a。最后,通过printf()方法输出正方形的面积和周长。
需要注意的是,printf()方法中的%.0f表示输出浮点数,保留0位小数。
相关问题
import java.io.*; import java.util.Arrays; import java.util.Scanner; public class FileTest { public static void main(String[] args) throws IOException { // 接收给定的一行字符串 Scanner scanner = new Scanner(System.in); String line = scanner.nextLine();
// 创建文件对象,并检查文件是否存在 File file = new File(line); if (!file.exists()) { System.out.println("文件不存在!"); return; } // 读取文件内容 BufferedReader reader = new BufferedReader(new FileReader(file)); String content = ""; String temp; while ((temp = reader.readLine()) != null) { content += temp + "\n"; } // 关闭文件读取器 reader.close(); // 输出文件内容 System.out.println("文件内容:\n" + content); } }
这段代码是一个读取文件并输出文件内容的Java程序。首先,通过Scanner接收用户输入的文件路径,然后判断文件是否存在。如果文件不存在,则输出提示信息并结束程序。如果文件存在,则创建文件读取器并读取文件内容,将读取到的内容存储在一个字符串变量中。最后,关闭文件读取器并输出文件内容。
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int b = sc.nextInt(); int temp = a; a = b; b = temp; System.out.println(a + " " + b); } }解析
这是一段Java代码,实现了从控制台读入两个整数a和b,然后交换它们的值,并输出交换后的结果。具体解析如下:
1. `import java.util.Scanner;`:这是一个Java语句,用于引入Scanner类,该类可以从控制台读入用户输入的数据。
2. `public class Main { ... }`:这是一个Java类的定义,类名为Main,它包含一个main方法,是Java程序的入口点。
3. `Scanner sc = new Scanner(System.in);`:这是一个Java语句,创建了一个Scanner对象sc,它的作用是从控制台读入用户输入的数据。
4. `int a = sc.nextInt();`:这是一个Java语句,使用Scanner对象sc从控制台读入一个整数,并将其赋值给变量a。
5. `int b = sc.nextInt();`:这是一个Java语句,使用Scanner对象sc从控制台读入另一个整数,并将其赋值给变量b。
6. `int temp = a;`:这是一个Java语句,创建一个变量temp,将变量a的值赋给它,实现了值的交换。
7. `a = b;`:这是一个Java语句,将变量b的值赋给变量a,实现了值的交换。
8. `b = temp;`:这是一个Java语句,将变量temp的值赋给变量b,实现了值的交换。
9. `System.out.println(a + " " + b);`:这是一个Java语句,使用System.out.println方法输出变量a和b的值,中间用空格分隔。