用“while”循环非法开始表达

时间:2017-09-29 04:02:56

标签: loops while-loop nested

我是一个正在参加他的第一个编码课的新手。我已经把所有事情都处理好了,直到循环,它们正在咀嚼我并吐出我。马上,我遇到了非法表达式错误。

//This program will find averages for the sets of numbers input

import javax.swing.JOptionPane;
public class Java_Chapter_5

{
  public static void main (String args[])
  {
    //declarations
    String userIn;
    int numEntered;  
    int average;
    int totCount;
    string programStart;
    string programEnd;
    //end declarations

    System.out.println("Welcome, this program will find the average of numbers that are input");

    programStart=JOptionPane.showInputDialog("Please enter Y to start the program or N to end");

    while (programStart<>Y)
    { 
      numEntered=JOptionPane.showInputDialog("Please enter first number in the range to average or enter 0 to average numbers entered")        

我为一个完全的菜鸟而道歉,但我对此感到非常失望。

1 个答案:

答案 0 :(得分:0)

我不确定这是你的实际代码还是伪代码,但首先要记住的是Java中的字符串以大写'S'开头,所以你的声明应该是:

 String programStart;
 String programEnd;

其次,while循环内部的表达式不是布尔表达式的有效Java语法,即此符号<>将导致程序在编译时失败。当您处理while循环时,括号内的代码必须是一个有效的表达式,其值为truefalse。一旦程序到达while循环代码的底部,这将让程序知道是否继续循环。例如,while(true)将永远执行while循环代码,while(false)将永远不会执行,只要变量while(x > 5)大于5,x将继续循环,即,只要表达式x > 5的计算结果为true。在您的情况下,您显然正在检查以确保变量programStart等于"Y"以继续循环。使用java中的字符串,您可以检查这样的相等性:programStart.equals("Y")。因此,您的while循环条件应为

while (programStart.equals("Y")) { 
    //blah blah blah 
}