Loop problem in Java

What is the error in the following code?

while ((char t==(char) system.in.read())!='0')

Solution

You cannot declare a new variable in a while loop

while (boolean always = true) {
    } // DOES NOT COMPILE!!!

You must declare variables before and outside the loop, so it may be like this:

boolean always = true;
    while (always) {
        break;
    } // compiles fine!

    // always is still in scope after the loop!
    always = !always;

In this sense, the for loop is unique: in fact, you can declare a new local variable whose scope is limited to the loop:

for (boolean always = true; always; ) {
        break;
    } // compiles fine!

    // always is no longer declared after the loop!
    always = !always; // DOES NOT COMPILE!

That is, to see what you're doing, you might want to see Java util. Scanner. I doubt it will better meet your needs

example

The following is an example of using scanner to read numbers from standard input, ending at 0 Then print the sum of these numbers It uses hasnextint () instead of integer ParseInt / numberformatexception normally handles invalid input

Scanner sc = new Scanner(system.in);
    System.out.println("Enter numbers (0 to end):");
    int sum = 0;
    int number;
    do {
        while (!sc.hasNextInt()) {
            System.out.println("I'm sorry,that's not a number! Try again!");
            sc.next();
        }
        number = sc.nextInt();
        sum += number;
    } while (number != 0);
    System.out.println("The sum of those numbers is " + sum);

This is a sample session:

The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>