当我尝试编译以下代码时,我一直都会遇到错误,我目前正在使用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.
答案 0 :(得分:2)
您无法使用=
运算符来比较值;这是赋值运算符。使用==
来比较int
值:
while ((counter == 0)&&(number > 0)) {
此处的赋值运算符求值为int
,产生您收到的错误消息。
答案 1 :(得分:2)
counter = 0
应该是
counter == 0
答案 2 :(得分:0)
while ((counter = 0)&&(number > 0))
永远不会成立,因为(counter = 0)
会将计数器指定为0
,而该语句的值是counter
:0
的值。 0
为int
,无法转换为boolean
。
答案 3 :(得分:0)
问题在哪里?
此代码中有很多错误...... 要检查两个整数是否相等,您必须写== not =。 (在while和in中)。