我是一个正在参加他的第一个编码课的新手。我已经把所有事情都处理好了,直到循环,它们正在咀嚼我并吐出我。马上,我遇到了非法表达式错误。
//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")
我为一个完全的菜鸟而道歉,但我对此感到非常失望。
答案 0 :(得分:0)
我不确定这是你的实际代码还是伪代码,但首先要记住的是Java中的字符串以大写'S'开头,所以你的声明应该是:
String programStart;
String programEnd;
其次,while
循环内部的表达式不是布尔表达式的有效Java语法,即此符号<>
将导致程序在编译时失败。当您处理while
循环时,括号内的代码必须是一个有效的表达式,其值为true
或false
。一旦程序到达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
}