[英]Trouble with while-loop statement
當我嘗試在下面編譯這些代碼時,我不斷收到錯誤消息,我目前正在使用JCreator。
import java.io.*;
public class Number //class name here, same as file name
{
public Number()throws IOException{//constructor, place class name here
// use BufferedReader class to input from the keyboard
// declare a variable of type BufferedReader
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
//declare variable for input
String inputString;
int number;
int counter;
int square;
int cube;
String goodMessage = "Thank you";
String badMessage = "Sorry";
//begin houseKeeping()
System.out.print("Please input number: ");
inputString = input.readLine();
number = Integer.parseInt(inputString);
//begin squareCube()
counter = 0;
while ((counter = 0)&&(number > 0)) {
square = number*number;
cube = number*number*number;
System.out.print(square);
System.out.print(cube);
}
if (counter = counter + 1);
if (counter < 3);
System.out.print("Enter input number: ");
//begin finishUp()
if (number > 0)
System.out.println(goodMessage);
else
System.out.println(badMessage);
}//end constructor
public static void main(String [] args) throws IOException // main method
{
new Number(); //class constructor name
} // end the main method
} // end the program
錯誤:
--------------------Configuration: <Default>--------------------
D:\INFO\INFO 1391\Number.java:27: error: bad operand types for binary operator '&&'
while ((counter = 0)&&(number > 0)) {
^
first type: int
second type: boolean
1 error
Process completed.
您不能使用=
運算符比較值; 那是賦值運算符。 使用==
比較您的int
值:
while ((counter == 0)&&(number > 0)) {
賦值運算符在這里計算為int
,產生您收到的錯誤消息。
counter = 0
應該
counter == 0
while ((counter = 0)&&(number > 0))
永遠不會為真,因為(counter = 0)
將counter分配為0
並且該語句的值是counter
的值: 0
。 而且0
是int
,不能轉換為boolean
。
問題在哪里?
該代碼中有太多錯誤...要檢查兩個整數是否相等,必須編寫== not =。 (在while和if中)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.