Java连续输入代码

时间:2013-05-27 11:57:07

标签: java input continuous

好的,所以我试图弄清楚如何编码(不是真正修复)的程序,我必须使用Java接受用户的连续输入,直到他们进入一个时期。然后,它必须计算用户输入到该时段的总字符数。

import java.io.*;
class ContinuousInput
{
    public static void main(String[] args) throws IOException
    {
    InputStreamReader inStream = new InputStreamReader (System.in);
    BufferedReader userInput = new BufferedReader (inStream);
    String inputValues;
    int numberValue;
    System.out.println("Welcome to the input calculator!");
    System.out.println("Please input anything you wish: ");

    inputValues = userInput.readLine();

    while (inputValues != null && inputValues.indexOf('.')) {
    inputValues = userInput.readLine();
    }
    numberValue = inputValues.length();
    System.out.println("The total number of characters is " + numberValue + ".");

    System.out.println("Thank you for using the input calculator!");
    }
}

请不要建议使用Scanner,我们使用的Java SE平台是SDK 1.4.2_19模型,我们无法对其进行更新。 空括号的解释:我认为,如果我放入空括号,它将允许连续输入,直到该时段被放入,但显然不是这样的情况......

编辑:更新了代码 当前错误:什么时候结束。输入。

1 个答案:

答案 0 :(得分:3)

您必须使用if/else切换while语句。

示例:

inputValues = userInput.readLine();
while (!".".equals(inputValues) {
   //do your stuff
   //..and after done, read the next line of the user input.
   inputValues = userInput.readLine();
}

注意:绝不要将String个对象的值与==运算符进行比较。使用equals()方法。

如果您只想测试,用户输入的句子是否包含.个符号,您只需从equals()切换到contains()即可。它是java.lang.String类的内置方法。

样品:

 while (inputValues != null && !inputValues.contains(".")) {
    //do your stuff
 }