java数组在插入值之后是完全空的

eeq64g8w  于 2021-07-14  发布在  Java
关注(0)|答案(3)|浏览(427)

我尝试将从用户输入中获取的值(在一行中,用空格分隔)插入到 array . 我的代码如下:

import java.util.*;
import java.io.*;

class HelloWorld {
    public static void main(String[] args) {

        Scanner s=new Scanner(System.in);
        String st="";

        while(s.hasNextLine())
            st=s.nextLine();

        String[] str=st.split(" ");

        System.out.println(Arrays.toString(str));
    }
}

当我运行代码时,编译器甚至不要求输入,而是将输出显示为 [] . 我不明白这里怎么了。有人能帮我吗?

bxgwgixi

bxgwgixi1#

scanner s=新扫描仪(system.in);字符串st=“”;

while(true){
    System.out.println("Please Enter value");

     st=s.nextLine();

     String[] str=st.split(" ");

    System.out.println(Arrays.toString(str));

}

zour9fqk

zour9fqk2#

import java.util.Arrays;
import java.util.Scanner;

class HelloWorld {
    public static void main(String[] args) {

        Scanner s = new Scanner(System.in);
        String st = "";
        System.out.println("Enter the input string:");

        if (s.hasNextLine())
            st = s.nextLine();

        String[] str = st.split(" ");

        System.out.println(Arrays.toString(str));
    }
}

只是将while条件改为if条件并添加了sysout。输出:

Enter the input string:
test this program
[test, this, program]
hyrbngr7

hyrbngr73#

它应该像这样在while循环中运行

class HelloWorld {
public static void main(String[] args) {

    Scanner s=new Scanner(System.in);
    String st="";

    while(true){
        System.out.println("Enter value");

        st=s.nextLine();

        String[] str=st.split(" ");

        System.out.println(Arrays.toString(str));
    }

}
}

相关问题