先定义一个最大值的变量max,和最小值的变量min 然后用num变量来接收用户输入的数 然后判断用户输入的数是否等于0,如果等于0就退出,不等于0就判断num这个值是否大于变量max,如果大于,就把num的值赋给max 然后判断num值是否小于变量min(min的值默认不要设为0,设得尽量大一点)如果小于就把值赋给min 最后输入最大值max,最小值min 上面的接收用户输入跟判断都放在循环里做!
你那个太简单了 给你个稍微复杂点的
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
List
while(true) {
System.out.println("请输入数字(输入0退出):");
String str = input.nextLine();
if(str.equals("0")) {
System.out.println("系统退出!");
System.exit(0);
}
String[] strNums = str.split("[^\\+\\-\\*\\/\\%\\.\\d]+");
for (int i = 0; i < strNums.length; i++) {
if(strNums[i].matches("^-?\\d+\\.?\\d+$")){
nums.add(Double.parseDouble(strNums[i]));
} else if(strNums[i].matches("^-?\\d+\\.?\\d+([\\+\\-\\*\\/\\%]\\d+\\.?\\d+)+$")) {
ScriptEngine jse = new ScriptEngineManager().getEngineByName("JavaScript");
try {
Object newNum = jse.eval(strNums[i]);
nums.add((Double) newNum);
} catch (ScriptException e) {
e.printStackTrace();
}
}
}
Collections.sort(nums);
if(nums.size()!=0){
System.out.println("最小值为"+nums.get(0));
System.out.println("最大值为"+nums.get(nums.size()-1));
nums.clear();
} else {
System.out.println("输入不正确!");
}
}
}
分给我吧
import java.util.Scanner;
public class MaxAndMin{
public static void main(String[] args)throws Exception {
Scanner scan=new Scanner(System.in);
int k=scan.nextInt();
int max=k,min=k;
while(k!=0){
int kx=scan.nextInt();
if(kx!=0){
min=Math.min(min, kx);
max=Math.max(max, kx);
}
k=kx;
}
System.out.println("最大值:"+max+"最小值:"+min);
}
}