这是假定的打印结果(适用于所有整数):
Please input 5 integers: 54 98 23 14 37
54
98 <-- largest value
23
14 <-- smallest value
37
这是我未完成的计划:
public static void main(String[] args) {
Scanner in = new Scanner (System.in);
System.out.print("Please input 5 integers: ");
int [] x = new int [5];
for (int i=0; i < x.length; i++) {
x[i] = in.nextInt();
}
System.out.println(x[i]);
int max = x[0];
int min = x[0];
for (int i=0; i < x.length; i++) {
if (x[i] > max) {
max = x[i];
}
}
for (int i=1; i < x.length; i++) {
if (x[i] < min) {
min = x[i];
}
}
}
我已经完成了核心部分,这是功能部分。我面临的问题是如何将这些功能结果应用到最后一步:打印。
有人可以帮我解决问题吗?谢谢:))
答案 0 :(得分:0)
伪代码:
for each number
print number
if number is max
print "<-- largest value"
if number is min
print "<-- smallest value"
答案 1 :(得分:0)
for (int i=0; i < x.length; i++) {
if (x[i] == min) {
System.out.println(min + "<-- smallest value");
}else if(x[i] == max){
System.out.println(max + "<-- largest value");
}else{
System.out.println(x[i]);
}
}
答案 2 :(得分:0)
我会在您的输入循环中检查max
和min
,并按照要求完全按照要求获取输出 -
Scanner in = new Scanner(System.in);
System.out.print("Please input 5 integers: ");
int[] x = new int[5];
int min = Integer.MAX_VALUE;
int max = Integer.MIN_VALUE;
for (int i = 0; i < x.length; i++) {
if (!in.hasNextInt()) { // <-- do we have an int?
if (!in.hasNext()) { // <-- do we have any input?
System.err.println("No more input.");
System.exit(1);
}
System.err.println(in.next() + " is not a number");
i--; // <-- reget this "number".
continue;
}
int val = in.nextInt();
if (val < min) { // <-- is it smaller then min?
min = val;
}
if (val > max) { // <-- is it larger then max?
max = val;
}
x[i] = val;
}
for (int i : x) {
String str = "";
if (i == min && i == max) {
str = " <-- largest and smallest value"; // <-- just in case.
} else if (i == min) {
str = " <-- smallest value";
} else if (i == max) {
str = " <-- largest value";
}
System.out.printf("%d%s%n", i, str);
}
输出
Please input 5 integers: 54 98 23 14 37
54
98 <-- largest value
23
14 <-- smallest value
37