【问题标题】:Illegal start of expression with "while" loop使用“while”循环非法开始表达式
【发布时间】:2018-03-10 22:25:11
【问题描述】:

我是一个正在上第一堂编码课的新手。我已经处理了所有事情,直到循环,这让我很生气,把我吐了出来。马上,我遇到了 Illegal start of expression 错误。

//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")        

我为自己完全是个菜鸟而道歉,但我对此非常迷茫。

【问题讨论】:

    标签: loops while-loop nested


    【解决方案1】:

    我不确定这是您的实际代码还是伪代码,但首先要记住的是 Java 中的字符串以大写“S”开头,因此您的声明应为:

     String programStart;
     String programEnd;
    

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-09
      • 2017-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-05
      • 2014-03-09
      • 2013-08-11
      相关资源
      最近更新 更多