Java 如何将打印功能合并到计算周长和识别形状的程序中?
我正在努力继续我的形状标识符/周长计算器程序。我需要弄清楚如何将打印函数合并到代码中Java 如何将打印功能合并到计算周长和识别形状的程序中?,java,string,function,printing,Java,String,Function,Printing,我正在努力继续我的形状标识符/周长计算器程序。我需要弄清楚如何将打印函数合并到代码中 public static void main(String[] args) { Scanner scan = new Scanner(System.in); int sideA; int sideB; int sideC; int sideD; System.out.println("Enter side 1: "); sideA = scan.nextInt
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int sideA;
int sideB;
int sideC;
int sideD;
System.out.println("Enter side 1: ");
sideA = scan.nextInt();
System.out.println("Enter side 2: ");
sideB = scan.nextInt();
System.out.println("Enter side 3: ");
sideC = scan.nextInt();
System.out.println("Enter side 4: ");
sideD = scan.nextInt();
int perimeter = add(sideA, sideB, sideC, sideD);
if (sideA == sideB && sideB == sideC && sideC == sideD && sideD == sideA) {
System.out.println("Forms a square with a perimeter of " + perimeter);
}
else {
System.out.println("Does not form a square.");
}
}
private static int add(int sideA, int sideB, int sideC, int sideD) {
return sideA + sideB + sideC + sideD;
}
public class shapePerimeter {
String shape;
int perimeter;
public void print() {
System.out.println("Forms a " + shape + " with a perimeter of " + perimeter);
}
}
如上所示,最后一个公共类是我尝试的打印函数。如果它在修饰符、返回类型、参数和语句方面有任何问题,我如何纠正它?不确定是否要将所有内容分为两个类,但我建议将main中的if/else语句转换为shapePerimeter类中自己的方法。这样,您就可以将ShapePerimeter类扩展到主类,并在主类的构造函数中调用add()方法和This新方法来分配两个变量。从这里开始,我只需将print()方法中的代码移动到main类中,并重新构造print,以便它在构造函数中打印指定的变量 这里有一个解决方案:
import java.util.Scanner;
公共类计算器扩展了ShapePerimeter{
周长;
线状;
公共计算器(int sideA、int sideB、int sideC、int sideD){
周长=添加(sideA、sideB、sideC、sideD);
形状=标识符(sideA、sideB、sideC、sideD);
}
公共静态void main(字符串参数[]){
扫描仪扫描=新扫描仪(System.in);
内西达;
int sideB;
int sideC;
内部的;
System.out.println(“输入侧1:”);
sideA=scan.nextInt();
System.out.println(“输入第2面:”);
sideB=scan.nextInt();
System.out.println(“输入第3面:”);
sideC=scan.nextInt();
System.out.println(“输入第4面:”);
sideD=scan.nextInt();
计算器计算=新计算器(sideA、sideB、sideC、sideD);
系统输出打印LN(计算形状+,周长为“+计算周长);
}
}
公共类形状参数{
公共字符串标识符(intsidea、intsideb、intsidec、intsided){
如果(sideA==sideB&&sideB==sideC&&sideC==sideD&&sideD==sideA){
返回“形成正方形”;
}否则{
return“不成正方形”;
}
}
公共int add(int sideA、int sideB、int sideC、int sideD){
返回sideA+sideB+sideC+sideD;
}
}
请注意,通过创建构造函数,我们现在可以只创建类的一个对象,传递对象参数的用户输入,然后为print语句返回对象指定的变量。希望这有帮助 作为主类中的方法,您的print方法可能会更好。如果希望将print作为一个单独的类保存,则必须使用构造函数将shape和period传递到类中,或者将shape和period传递到print方法本身中。