在此程序中,输出为:
70,60
30,40
但是我希望它是:
30,40
70,60
条件是:
请勿使用
static
,final
,this
(或其他关键字)。 而且,调用方法的顺序必须保持相同,并且方法的签名不能更改。
这是代码:
class Hello {
int a = 30, b = 40;
public void input(int a, int b) {
System.out.println(a);
System.out.println(b);
}
public void show() {
System.out.println(a);
System.out.println(b);
}
public static void main(String[] args) {
Hello o = new Hello();
o.input(70,60);
o.show();
}
}
答案 0 :(得分:2)
似乎您在以错误的顺序调用方法:
o.show();
o.input(70,60);
答案 1 :(得分:1)
只需更改调用函数的顺序即可:-
代替此:
public static void main(String...s)
{
Hello o=new Hello();
o.input(70,60);
o.show();
}
更改
public static void main(String...s)
{
Hello o=new Hello();
o.show();
o.input(70,60);
}
或
如果您不想更改顺序,请调用以下函数:-
class Hello {
int a = 30, b = 40;
public void input(int a, int b) {
show();
System.out.println(a);
System.out.println(b);
}
public void show() {
System.out.println(a);
System.out.println(b);
}
public static void main(String[] args) {
Hello o = new Hello();
o.input(70,60);
//o.show();
}
}
答案 2 :(得分:1)
交换o.input(70,60)
和o.show()
语句。
public static void main(String...s)
{
Hello o=new Hello();
o.show();
o.input(70,60);
}
答案 3 :(得分:1)
更改硬编码数字:
int a = 70, b = 60;
...
o.input(30, 40);
或更改方法顺序:
o.show();
o.input(70, 60);
input
您还可以调整input
方法以输出成员变量而不是参数,然后使用参数更新成员,以便show
将打印更新的成员:
public void input(int a, int b) {
System.out.println(this.a);
System.out.println(this.b);
this.a = a;
this.b = b;
}
类似地,您可以在没有this
的情况下使用数学来达到相同目的:
public void input(int a, int b) {
System.out.println(a - 40);
System.out.println(b - 20);
}
public void show() {
System.out.println(a + 40);
System.out.println(b + 20);
}