if语句条件错误

时间:2015-10-21 16:24:25

标签: java arrays list conditional

我正在构建一个程序来计算用户输入的最小值,最大值和平均值。 当用户输入0或负数时,程序退出循环。

我目前正致力于构建输入处理器。但我有一些错误。我之前没有使用过条件,所以我必须在那里的某个地方犯错误。

对于我如何能做得更好的任何建议都将不胜感激。

错误:

questionAvg.java:17: error: illegal start of expression
            if(input_into.nextInt() !=0) || input_into.nextInt < 0){
                                         ^
questionAvg.java:17: error: ';' expected
            if(input_into.nextInt() !=0) || input_into.nextInt < 0){
                                                                  ^
questionAvg.java:19: error: 'else' without 'if'
                } else{

代码:

import java.util.*; 
public class questionAvg
{
public static void main(String[]args)
{

Scanner input_into = new Scanner(System.in);
ArrayList<Integer> collector = new ArrayList<Integer>();

System.out.println("Enter 0 or a negative number to end input");
System.out.println("Enter a positive integer to populate the arraylist");


    while (input_into.hasNextint()){
                System.out.println("Type another int or exit");

            if(input_into.nextInt() !=0) || input_into.nextInt < 0){
                collector.add(input_into.nextInt());
                } else{
                        System.out.println("You entered 0 or a negative number. Now calculating....");
                }
            }
       }
  }

4 个答案:

答案 0 :(得分:2)

您在错误的地方有一个括号,并且您将jQuery视为公共成员变量而不是方法:

nextInt

需要:

if(input_into.nextInt() !=0) || input_into.nextInt < 0)

否则你将在第一个条件之后结束if语句,从而结束所有错误。

答案 1 :(得分:1)

)之前移除if语句中的额外||,并且在调用()时也错过了input_into.nextInt() < 0。应该是。

 if(input_into.nextInt() !=0 || input_into.nextInt() < 0){

你也在if(input_into.nextInt() !=0 || input_into.nextInt < 0)读取整数两次,然后在下一行collector.add(input_into.nextInt());读取整数。你可以做

  int inp=input_into.nextInt();
  if( inp!=0 || inp < 0){
                collector.add(inp);

答案 2 :(得分:1)

你错了:

if(input_into.nextInt() !=0) || input_into.nextInt < 0) 

应该是

if(input_into.nextInt() !=0 || input_into.nextInt < 0) 

答案 3 :(得分:0)

请尝试以下代码(我已经测试过):

import java.util.ArrayList;
import java.util.Scanner;

public class questionAvg {
    public static void main(String[] args) {

        Scanner input_into = new Scanner(System.in);
        ArrayList<Integer> collector = new ArrayList<Integer>();

        System.out.println("Enter 0 or a negative number to end input");
        System.out.println("Enter a positive integer to populate the arraylist");

        while (input_into.hasNextInt()) {
            System.out.println("Type another int or exit");

            if ((input_into.nextInt() != 0) || (input_into.nextInt() < 0)) {
                collector.add(input_into.nextInt());
            } else {
                System.out.println("You entered 0 or a negative number. Now calculating....");
            }
        }
    }
}