扫描仪没有存储字符串超过“空间”

时间:2013-11-20 19:18:07

标签: java

首先,我是初学者,但我觉得我有点理解。

我正在尝试编写一个将用户输入存储到字符串中的方法。它工作得很好,除非用户放入空间。然后字符串停止存储。

public static String READSTRING()   {
        Scanner phrase = new Scanner(System.in);
        String text = phrase.next();
        return text;
    }

我认为问题是,一旦检测到空格,phrase.next()会停止扫描,但我想将该空格存储在字符串中并继续存储该短语。这是否需要某种循环来保存它?

4 个答案:

答案 0 :(得分:3)

使用.nextLine()代替.next()

.nextLine()将输入您的输入,直到找到换行符(当您按Enter键时,会添加换行符)。这基本上允许您获得一行输入。

答案 1 :(得分:1)

Javadoc开始,这就是我们所拥有的:

  

扫描程序使用分隔符模式将其输入分解为标记,分隔符模式默认匹配空格。

您可以按照他人的建议使用phrase.nextLine(),也可以使用Scanner#useDelimiter("\\n")

答案 2 :(得分:0)

试试phrase.nextLine();。如果我没记错的话,Scanner会自动使用空格作为分隔符。

答案 3 :(得分:0)

尝试

pharse.NextLine();

你得到一个有限词的数组

String Stringname = {"word","word2"};

Random f = new Random(6);
 Stringname = f.nextInt();

您可以将整数转换为字符串

int intvalue = 6697;
 String Stringname = integer.ToString(intvalue);