Как мне сделать это более кратким? (не должно быть трудно) - PullRequest
0 голосов
/ 03 мая 2020

Привет :) Я довольно новичок в java и не могу найти решение ... У меня есть этот код, и он очень повторяющийся, и мне нужно повторить процесс несколько раз. Могу ли я сделать это, используя какой-то l oop, чтобы сделать его более кратким?

    System.out.println("enter grade 1:");
    Node node1 = new Node(x.nextInt());
    Node head = node1;

    System.out.println("enter grade 2:");
    Node node2 = new Node(x.nextInt());
    node2.next = head;
    head = node2;

    System.out.println("enter grade 3:");
    Node node3 = new Node(x.nextInt());
    node3.next = head;
    head = node3;

Ответы [ 2 ]

1 голос
/ 03 мая 2020

Просто используйте al oop вот так

    Scanner scanner = new Scanner(System.in);
    Node head;
    int index = 0;

    while (scanner.hasNextLine()) {
        System.out.println("enter grade " + (++index) + ":");
        Node node = new Node(scanner.nextInt());
        node.next = head;
        head = node;
    }
0 голосов
/ 03 мая 2020

Этот код может работать для вас:

public class Node {

    int grade ;
    Node next=null;

    Node(int grade){
        this.grade=grade;
    }

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        Node head =null;
        int index = 1;
        int gradeCount = 8;
        do {
            System.out.println("enter grade " + (index++) + ":");
            Node node = new Node(scanner.nextInt());
            node.next = head;
            head = node;
        }
        while(index!=gradeCount+1);

    }

}

Здесь я использовал do, пока l oop, этот l oop завершается, пока переменная index не достигнет 8.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...