我创建了3个类来分隔每个类的功能。
1st - 接受输入并仅打印输出的InputOutput类
import java.util.Scanner;
public class InputOutput {
public static void main(String[] args) {
GetterSetter obj = new GetterSetter();
Scanner input = new Scanner(System.in);
System.out.print("Input 1st num: ");
int a = input.nextInt();
obj.setNum1(a);
System.out.print("Input 2nd num: ");
int b = input.nextInt();
obj.setNum2(b);
System.out.println(obj.getSum());
}
}
第二类 - 获取和设置数据的GetterSetter类。
public class GetterSetter {
private int num1;
private int num2;
private int sum;
public int getNum1() {
return num1;
}
public void setNum1(int num1) {
this.num1 = num1;
}
public int getNum2() {
return num2;
}
public void setNum2(int num2) {
this.num2 = num2;
}
public int getSum() {
return sum;
}
public void setSum(int sum) {
this.sum = sum;
}
}
3rd - 处理数据的进程类(包含程序中的所有逻辑)。
public class Process {
GetterSetter obj = new GetterSetter();
int num1 = obj.getNum1();
int num2 = obj.getNum2();
int sum = num1 + num2;
obj.setSum(sum);//error
}
如何让流程类付诸行动?
我怎样才能做到这一点:
从InputOutput类获取数据
将收集的数据设置为GetterSetter类
在流程类中,从GetterSetter类中获取数据 - >做手术 - >将结果设置为GetterSetter类。
最后,在InputOutput类中打印输出/结果。
答案 0 :(得分:0)
您可以使用extends
关键字获取班级InputOutput
中的所有信息。你可以试试这个:
public class GetterSetter extends InputOutput
{
/*** Code from your GetterSetter class ***/
}
然后,您可以使用GetterSetter
课程中的信息并将其扩展到Process
课程。
public class Process extends GetterSetter
{
/*** Code from your Process class ***/
}
现在,您可以使用其他两个类中InputOutput
类的所有变量。
在Process
课程中,您可以使用toString()
方法覆盖System.out.println(obj.getSum());
。
toString()
看起来与此类似:
public String toString(num1, num2, sum)
{
String sumString = "" + sum;
return sumString;
}
而不是调用您正在使用的System.out.println()
,请调用toString()
方法并将其打印出来。
System.out.println(toString(a, b));
希望这对你正在做的事情有所帮助。