在Java中,最小值始终显示为0 import java.util.Scanner; 导入java.util.List; 导入java.util.array; 导入java.util.*; 公开课练习16{ 公共静态void main(字符串[]args){ System.out.println(“请输入一个正整数序列”); 扫描仪用户输入=新扫描仪(System.in); String user_String=user_input.nextLine(); 布尔hasNegativeOne=user_string.contains(“-1”); if(hasNegativeOne){ String[]sequence=user\u String.split(“”); int[]number=新的int[sequence.length]; for(int i=0;i
min_)值,从0开始。您不能接受负数。然后您尝试说:在Java中,最小值始终显示为0 import java.util.Scanner; 导入java.util.List; 导入java.util.array; 导入java.util.*; 公开课练习16{ 公共静态void main(字符串[]args){ System.out.println(“请输入一个正整数序列”); 扫描仪用户输入=新扫描仪(System.in); String user_String=user_input.nextLine(); 布尔hasNegativeOne=user_string.contains(“-1”); if(hasNegativeOne){ String[]sequence=user\u String.split(“”); int[]number=新的int[sequence.length]; for(int i=0;i,java,arrays,Java,Arrays,min_)值,从0开始。您不能接受负数。然后您尝试说: import java.util.Scanner; import java.util.List; import java.util.Arrays; import java.util.*; public class Exercise16 { public static void main(String[] args) { System.out.println("Please enter a sequence of
import java.util.Scanner;
import java.util.List;
import java.util.Arrays;
import java.util.*;
public class Exercise16 {
public static void main(String[] args) {
System.out.println("Please enter a sequence of positive integers");
Scanner user_input = new Scanner(System.in);
String user_string = user_input.nextLine();
boolean hasNegativeOne = user_string.contains("-1");
if (hasNegativeOne){
String[] sequence = user_string.split(" ");
int[] numbers = new int[sequence.length];
for (int i = 0; i < sequence.length;i++) {
numbers[i] = Integer.parseInt(sequence[i]);
}
// Method for getting the maximum value
int max_value = 0;
for(int i=0; i<numbers.length; i++){
if (numbers[i] > max_value){
max_value = numbers[i];
}
}
// Method for getting the minimum value
int min_value = 0;
for(int i=0; i<numbers.length; i++){
if (numbers[i] < min_value){
min_value = numbers[i];
}
}
System.out.println("The maximum value is: " +max_value);
System.out.println("The minimum value is: " +min_value);
}
}
}
if(数字[i]
如果您不能接受负数,则任何数字都不会小于0。尝试将最小值初始化为类似于
整数的值。最大值
最好先将最大值
和最小值
设置为数字[0]
。在这种情况下,您将正确处理这两种情况,因为默认值也是有效的,因为它是用户输入的一部分。如果存在大于(或小于)数组第一个元素的元素,您将重新分配它
if(number[i] < min_value)
if(number.length!=0){
int max_值=数字[0];
int min_值=数字[0];
对于(int i=1;i最大值){
最大值=num;
}
如果(数值<最小值){
最小值=num;
}
}
System.out.println(“最大值为:“+max_值”);
System.out.println(“最小值为:“+min_值”);
}否则{
//处理空用户输入
}
wow我觉得自己太傻了,没有注意到这一点,我只是一直在看语法。向上投票,但你应该检查数组是否有长度>0@MistahFiggins谢谢你的评论,编辑了我的答案
if (numbers.length != 0) {
int max_value = numbers[0];
int min_value = numbers[0];
for (int i = 1; i < numbers.length; i++) {
int num = numbers[i];
if (num > max_value) {
max_value = num;
}
if (num < min_value) {
min_value = num;
}
}
System.out.println("The maximum value is: " + max_value);
System.out.println("The minimum value is: " + min_value);
} else {
// process empty user input
}