开发者社区> 问答> 正文

在不使用数组的情况下获取N个输入的最大值

我正在努力寻找N个值的最大输入值。我能够打印最大值,但是练习要求仅打印最大值,而我无法从IF语句之外返回它。

练习说明:


编写一个程序,该程序:

从控制台读取数字N(必须大于0) 从控制台读取N个数字 显示N个输入数字的最大值。


public class Solution {
    public static void main(String[] args)  {
        Scanner sc = new Scanner(System.in);
        int i=0;  
        int count=1; 
        int max=Integer.MIN_VALUE; 

        for (i=0; i<count; i++) {
            int cur = sc.nextInt();
            count++;

            if (cur>0){
            if (cur>max) {
                max=cur ;
                System.out.println(max);
            }
            }
        }


    }}

在控制台中,我得到所需的输入以及此错误

java.util.NoSuchElementException
    at java.util.Scanner.throwFor(Scanner.java:862)
    at java.util.Scanner.next(Scanner.java:1485)
    at java.util.Scanner.nextInt(Scanner.java:2117)

问题来源:stackoverflow

展开
收起
七天一失眠 2020-03-21 10:49:37 932 0
1 条回答
写回答
取消 提交回答
  • 做一个优秀的阿里云志愿者

    首先,java.util.Scanner在使用Scanner类时必须导入。我更改了代码的几行,我认为这是您想要的:

    import java.util.Scanner;
    
    public class Solution {
        public static void main(String[] args)  {
            Scanner sc = new Scanner(System.in);
            int n = sc.nextInt(); // get N (how many numbers)
            int number;
            int max = Integer.MIN_VALUE;
    
            if (n > 0) {
                for (int i = 0; i < n; i++) {
                    number = sc.nextInt(); // get numbers
                    if (number > max)
                        max = number;
                }
    
                System.out.println(max); // print the maximum number
    
            } else
                System.out.println("Please enter greather than 0 number"); // when n is negative or zero
    
        }
    }
    
    

    答案来源:stackoverflow

    2020-03-21 10:50:52
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载