利用命令行参数输入若干个表示浮点数的字符串,输出最小值的字符串用Java输出其中最小值的字符串
时间: 2024-01-31 22:03:29 浏览: 24
你好,你可以使用以下的Java代码来实现你的需求:
```java
public class Main {
public static void main(String[] args) {
if(args.length == 0) {
System.out.println("请在命令行输入若干个表示浮点数的字符串!");
return;
}
double min = Double.MAX_VALUE; //初始化最小值
String minStr = ""; //初始化最小值对应的字符串
for(String str : args) {
try {
double num = Double.parseDouble(str); //解析浮点数
if(num < min) { //更新最小值和对应的字符串
min = num;
minStr = str;
}
} catch(NumberFormatException e) { //忽略非法的字符串
continue;
}
}
if(min == Double.MAX_VALUE) { //没有合法的浮点数输入
System.out.println("输入中没有符合要求的浮点数!");
} else {
System.out.println("最小值为:" + min + ",对应的字符串为:" + minStr);
}
}
}
```
你可以在命令行中输入以下的示例参数:
```
java Main 3.14 -5.6 1E-3 7.8 a123 10.0 -10.0
```
程序将输出:
```
最小值为:-10.0,对应的字符串为:-10.0
```
请注意,程序使用了异常处理机制来忽略非法的字符串,例如"a123",这将被解析为浮点数时会抛出`NumberFormatException`异常,被程序捕获并忽略。同时,程序中也充分考虑了没有符合要求的浮点数输入的可能性,输出友好的提示信息。