Изменить вывод с ограничениями - PullRequest
0 голосов
/ 30 июня 2018

В этой программе вывод:

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

Ответы [ 4 ]

0 голосов
/ 30 июня 2018

жестко закодированные номера

Изменить жестко запрограммированные номера:

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);
}
0 голосов
/ 30 июня 2018

Похоже, вы вызываете методы в неправильном порядке:

o.show();
o.input(70,60);
0 голосов
/ 30 июня 2018

Swap o.input(70,60) и o.show() операторы.

public static void main(String...s)
    {
      Hello o=new Hello();
      o.show();
      o.input(70,60);
     }
0 голосов
/ 30 июня 2018

Просто измените порядок вызова функции: -

Вместо этого:

 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();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...