我正在努力寻找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
首先,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
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。