Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我如何使它更简洁?(不应该很难)_Java_List_Nodes - Fatal编程技术网

Java 我如何使它更简洁?(不应该很难)

Java 我如何使它更简洁?(不应该很难),java,list,nodes,Java,List,Nodes,嗨:)我对java非常陌生,我找不到解决方案。。。 我有这个代码,它非常重复,我需要重复几次这个过程。我可以使用某种循环使它更简洁吗 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

嗨:)我对java非常陌生,我找不到解决方案。。。 我有这个代码,它非常重复,我需要重复几次这个过程。我可以使用某种循环使它更简洁吗

    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;

就用这样的循环

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

此代码可能适用于您:

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 while循环,这个循环将退出,直到
index
变量达到
8

可以。你只需要重复三次吗?使用一个循环…超过三次,大约7-8次。我试着使用for循环,但它让人困惑。如果你能让我看看,我会非常感激的!换句话说,你知道你需要重复多少次吗?啊,好的。比如说8(我知道你的意思,有一个固定的数字我只需要检查一下,所以现在8是好的)@kitten实际上这是一个很好的答案。只需将while循环更改为for(int index=0;index<8;index++),并删除索引赋值。如果您不知道将有多少整数,请保持原样。