java - 要求用户输入整数,然后对它们进行计数

标签 java count do-while

我需要编写一个代码,接受用户输入的数字并将其相加,显示正数、负数、零的数量,以及用户输入字母“e”后输入的数字数量的计数。我不确定到目前为止我所拥有的是否是正确的路径(它尚未编译),但这就是我到目前为止所拥有的:

    public static void main (String[] args){
        Scanner input = new Scanner(System.in);
        int negative = 0;
        int positive = 0;
        int zeroes = 0;
        int sum = 0;
        int count = 0;
        do{
        System.out.print("Enter a float or 'e' to exit");
     int num = input.nextInt();

            if(num  < 0){
            sum += num;
            count++;
            negative++;
            }
            if (num > 0){
                sum += num;
                count++;
                positive++;
            }
            if (num == 0){
                sum += num;
                count++;
                zeroes++;

                if (num = e){
                    System.out.print(sum + count + zeroes + positive + negative);
                }

            }
    } while(true);  
    }

}

最佳答案

你可以做这样的事情。请注意我试图改进的评论:

      do{
        System.out.print("Enter a float or 'e' to exit");
        String entered = input.nextLine();
        if("e".equals(entered)){
            //print stuff
            break;
        }else{
            int num;
            try {
                num = Integer.parseInt(entered);
            } catch (NumberFormatException e) {
                System.out.println("Not a number nor e");
                continue; // re-do the loop
            }
            if(num  < 0){//; ends the line, not to be used after if condition
                sum += num;
                count++;
                negative++;
            }else if (num > 0){ // num bcan be >0 only if its not <0, so use else
                sum += num;
                count++;
                positive++;
            }else{//similar to comment above
                sum += num;
                count++;
                zeroes++;
            }

        }
    } while(true);   

关于java - 要求用户输入整数,然后对它们进行计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34077045/

相关文章:

sql-server-2005 - sql server 2005 中的 Count(*) 与 Count(Id)

c - 选择菜单选项后再次打印菜单。 ."do while"选择选项后循环无限

c - 验证输入并清除键盘缓冲区

javascript - 正面或反面游戏 javascript do/while 循环

java - post查询的动态过滤条件

java - Raspberry Ad-hoc U 广播

r - 函数 (x,y),x 和 y 都变化

xml - 计算具有多个条件的 xml 元素

java - Java 1.6 中字符串连接多个整数的技巧

java - 需要在 selenium webdriver 代码中使用代理捕获网络流量