Java 更改带有限制的输出

Java 更改带有限制的输出,java,function,class,Java,Function,Class,在该程序中,输出为: 70,60 30,40 但我希望它是: 30,40 70,60 条件是: 不要使用静态、最终、此(或其他关键字)。 调用方法的顺序必须保持不变,并且方法的签名不能更改 代码如下: class Hello { int a = 30, b = 40; public void input(int a, int b) { System.out.println(a); System.out.println(b); }

在该程序中,输出为:

70,60
30,40
但我希望它是:

30,40
70,60
条件是:

不要使用
静态
最终
(或其他关键字)。 调用方法的顺序必须保持不变,并且方法的签名不能更改

代码如下:

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();
    }
}

只需更改调用函数的顺序:-

与此相反:

 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();
    }
}

似乎您以错误的顺序调用了这些方法:

o.show();
o.input(70,60);
交换
o.input(70,60)
o.show()
语句

public static void main(String...s)
    {
      Hello o=new Hello();
      o.show();
      o.input(70,60);
     }
硬编码数字 更改硬编码编号:

int a = 70, b = 60;
...
o.input(30, 40);

方法顺序 或更改方法顺序:

o.show();
o.input(70, 60);

调整
输入
您还可以调整
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;
}

硬编码数学 同样,您可以使用数学来实现相同的目标,而无需使用

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);
}

所以更改程序。互换70和30;60和40。不需要额外的关键词。一旦人们开始回答,你不应该改变问题,以使他们的答案无效。这对那些花时间帮助你的人是不公平的。我仍然不确定具体的限制。您只需键入
o.input(30,40)
inta=70,b=60。不允许?那么,究竟允许什么呢?
input
方法是否可以调整为打印
this.a
this.b
,然后保存
this.a=a
这个。b=b?您需要更精确地说明允许或期望的内容。人们现在给出了很多好的解决方案,而你却一直说这不是你想要的。这个网站不是用来来回讨论的。问一个明确的问题,然后得到一个准确的答案()。除此之外,这段代码没有给出您描述的输出-没有任何内容打印逗号。我添加了一些条件,请查看!我添加了几个条件,请看@PiyushArora请检查答案。我们不能将评论放在show()前面。main方法中的执行顺序必须相同。您不想更改代码或任何东西吗?这毫无意义。也得到了预期的输出。可能是你不想得到输出??我添加了几个条件,请看@PiyushArora你不想改变密码?这毫无意义。如果你不改变任何东西,输出应该如何改变?@Zabuza Right。!!