Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.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 - Fatal编程技术网

Java从控制台获取字符串输入

Java从控制台获取字符串输入,java,Java,我试着用java进行字符串输入。我的输入应该是这样的 3 1,1,bugs@bunny.com,123 Sesame St.,New York,NY,10011,12345689010 1,2,bugs@bunny.com,123 Sesame St.,New York,NY,10011,12345689010 1,3,bugs@bunny.com,123 Sesame St.,New York,NY,10011,12345689010 所以,我试过这个 Scanner in = new Sc

我试着用java进行字符串输入。我的输入应该是这样的

3
1,1,bugs@bunny.com,123 Sesame St.,New York,NY,10011,12345689010
1,2,bugs@bunny.com,123 Sesame St.,New York,NY,10011,12345689010
1,3,bugs@bunny.com,123 Sesame St.,New York,NY,10011,12345689010
所以,我试过这个

Scanner in = new Scanner(System.in);
        int TotalNumber = in.nextInt();
        String[] Data = new String[TotalNumber];
        for (int Counter = 0; Counter < TotalNumber; Counter++) {

            Data[Counter] = in.next();

        }

        in.close();

        for (int counter = 0; counter < Data.length; counter++) {


            System.out.println(Data[counter]);

        }
我有什么问题?如何正确使用输入字符串行

更新

我在这里找到了我的解决方案

next()
在空白处中断。相反,您应该使用
nextLine()
将整行输入字符串:

int TotalNumber = in.nextInt();
String[] Data = new String[TotalNumber];
for (int Counter = 0; Counter < TotalNumber; Counter++) {
    Data[Counter] = in.nextLine();
}
inttotalnumber=in.nextInt();
字符串[]数据=新字符串[TotalNumber];
用于(整数计数器=0;计数器<总数;计数器++){
Data[Counter]=in.nextLine();
}

尝试使用
数据[Counter]=in.nextLine()

关于:

import java.util.Scanner;
import java.lang.String;

public class Test
{
    public static void main(String[] args)
    {
        char[] sArray;

        Scanner scan = new Scanner(System.in);

        System.out.print("Enter a Palindrome : ");
        String s = scan.nextLine();
        s = s.replaceAll("\\s+", "");

        sArray = new char[s.length()];

        for(int i = 0; i < s.length(); i++)
        {
            sArray[i] = s.charAt(i);
            System.out.print(sArray[i]);
        }
    }
}
import java.util.Scanner;
导入java.lang.String;
公开课考试
{
公共静态void main(字符串[]args)
{
沙雷;
扫描仪扫描=新扫描仪(System.in);
System.out.print(“输入回文:”);
字符串s=scan.nextLine();
s=s.replaceAll(“\\s+”,”);
sArray=新字符[s.length()];
对于(int i=0;i
试试这个(Mureinik修改的代码)

inttotalnumber=in.nextInt();
in.nextLine();
字符串[]数据=新字符串[TotalNumber];
用于(整数计数器=0;计数器<总数;计数器++){
Data[Counter]=in.nextLine();
}

在获取
int
后,您需要一个
nextLine(),bugs@bunny.com地址:纽约芝麻街123号,邮编:1001112345689010 1,1,bugs@bunny.com地址:纽约州纽约芝麻街123号,1001112345689010我只需要2个输入你能解释一下发生了什么吗?我指的是输出。首先我给出了3行(应该需要3行字符串吧?),然后点击输入的第一行,然后再次点击输入,第二行,然后点击输入,只有两行显示。但是,它应该是3行并显示3行。我认为回车是意外按下的吗?您是否总是看到相同的输出。
import java.util.Scanner;
import java.lang.String;

public class Test
{
    public static void main(String[] args)
    {
        char[] sArray;

        Scanner scan = new Scanner(System.in);

        System.out.print("Enter a Palindrome : ");
        String s = scan.nextLine();
        s = s.replaceAll("\\s+", "");

        sArray = new char[s.length()];

        for(int i = 0; i < s.length(); i++)
        {
            sArray[i] = s.charAt(i);
            System.out.print(sArray[i]);
        }
    }
}
int TotalNumber = in.nextInt();
in.nextLine();
String[] Data = new String[TotalNumber];
for (int Counter = 0; Counter < TotalNumber; Counter++) {
    Data[Counter] = in.nextLine();
}