我是初学者,需要帮助,请!!!
我想从控制台读取可选数字“a”,然后将其存储在变量中,以用作传递给另一个类(不同的.java文件)。并通过可选输入来单独计算总和。
我如何编码2个类?感谢
/*
* DemoApp.java
*/
public class DemoApp {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int a;
System.out.println("Input one of the following 3 numbers: 100, 200, 300");
System.out.print("Enter: ");
a = input.nextInt();
TestApplication testapp = new TestApplication();
testapp.test(a);
}
}
/*
* TestApplication.java
*
*/
public class TestApplication {
private int a;
public void test(int a) {
this.a = a; // TODO: where to get the "a"? (entered by users from console)
System.out.println("The number_a was passed in: "+a);
}
protected void printNum() throws Exception {
int num;
switch (a) {
case 100:
num = num + 10;
break;
case 200:
num = num + 20;
break;
case 300:
num = num + 30;
break;
default:
// TODO: unexpected number input. throw();
break;
}
System.out.println("I got a sum number"+num);
}
}
我只想让我的问题对于演示代码保持简单。呵呵:)
secenio是我想从控制台输入3个数字,将其传递给第二个B类,在第二个B类中,我需要按照协议构建一个完全限定的消息(3个数字之一)将需要),然后将消息发送到RS-232端口。所有编码/解码和发送/确认作业都由第三类C完成。 顺便说一句,第二类B来自第三类C。
在演示代码中,似乎“a”没有传递给printNum()方法。任何帮助都将非常感谢!
答案 0 :(得分:0)
您的代码看起来很好......您是否想知道如何使用这样的两个源文件编译Java程序?尝试...
javac DemoApp.java TestApplication.java
java DemoApp
它应该有效。除非您使用的是NetBeans或Eclipse等IDE,否则它们应该为您处理所有这些。
答案 1 :(得分:0)
您的代码看起来很好。我看不到的一件事是调用你的printNum
方法。你可以在你的test(int)
方法中调用它,所以它看起来像这样:
public void test(int a) {
this.a = a; // TODO: where to get the "a"? (entered by users from console)
System.out.println("The number_a was passed in: "+a);
printNum();
}
printNum
上的几个点:
throw
选中Exception
的位置,因此您应该从签名中删除throws Exception
。num
var上执行数学运算,好像它会被多次修改一样,但switch
的每个情况都会中断并且方法中没有循环,所以应该没有{{ 1}} required(这真的不应该编译,因为+=
在被解除引用时不会被初始化。)