好的,所以我试图弄清楚如何编码(不是真正修复)的程序,我必须使用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模型,我们无法对其进行更新。 空括号的解释:我认为,如果我放入空括号,它将允许连续输入,直到该时段被放入,但显然不是这样的情况......
编辑:更新了代码 当前错误:什么时候结束。输入。
答案 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
}