首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >while-loop语句的问题

while-loop语句的问题
EN

Stack Overflow用户
提问于 2013-05-07 03:21:52
回答 4查看 255关注 0票数 0

当我尝试编译下面的代码时,我一直收到错误,我目前使用的是JCreator。

代码语言:javascript
复制
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

错误:

代码语言:javascript
复制
--------------------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.
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-05-07 03:23:28

代码语言:javascript
复制
counter = 0

应该是

代码语言:javascript
复制
counter == 0
票数 2
EN

Stack Overflow用户

发布于 2013-05-07 03:23:01

不能使用=运算符比较值;这是赋值运算符。使用==比较您的int值:

代码语言:javascript
复制
while ((counter == 0)&&(number > 0)) {

这里的赋值操作符的计算结果是一个int,生成您收到的错误消息。

票数 2
EN

Stack Overflow用户

发布于 2013-05-07 03:25:03

while ((counter = 0)&&(number > 0))永远不会是真的,因为(counter = 0)将counter赋值为0,并且该语句的值是counter0的值。0int,不能转换为boolean

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16405704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档