当我尝试编译下面的代码时,我一直收到错误,我目前使用的是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.发布于 2013-05-07 03:23:28
counter = 0应该是
counter == 0发布于 2013-05-07 03:23:01
不能使用=运算符比较值;这是赋值运算符。使用==比较您的int值:
while ((counter == 0)&&(number > 0)) {这里的赋值操作符的计算结果是一个int,生成您收到的错误消息。
发布于 2013-05-07 03:25:03
while ((counter = 0)&&(number > 0))永远不会是真的,因为(counter = 0)将counter赋值为0,并且该语句的值是counter:0的值。0是int,不能转换为boolean。
https://stackoverflow.com/questions/16405704
复制相似问题