0

好的,所以我试图弄清楚如何编码的程序(不是真正修复),我必须使用 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 Platform 是 SDK 1.4.2_19 模型,无法更新。空大括号的解释:我认为如果我放入空大括号,它将允许连续输入,直到放入句号,但显然情况并非如此......

编辑:更新代码当前错误:不会在 . 被输入。

4

1 回答 1

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
 }
于 2013-05-27T11:59:38.907 回答