我只是想按降序对字符串进行排序。用户提供的输入是 10,a,1,#,15,.,6 输出必须是 10,a,15,#,6,.,1 我试过了。
String input = JOptionPane.showInputDialog("Enter a string:");
String[] num = input.split(",");
ArrayList<String> arr = new ArrayList<>();
System.out.println(num);
for ( int i = 0; i < num.length - 1; i ++ )
{
for (int j = i + 1; j < num.length; j ++ )
{
if(Integer.parseInt(num[i])
&& Integer.parseInt(num[j])
&& num[i] < num[j]) {
String temp = num[ i ]; //swapping
num[ i ] = num[ j ];
num[ j ] = temp;
}
}
}
}
在 if 语句中我得到错误。错误:- 运算符 && 未定义参数类型 int, int - 运算符 < 对于参数类型 java.lang.String 是未定义的, java.lang.字符串
最佳答案
可以替换
if(Integer.parseInt(num[i])
&& Integer.parseInt(num[j])
&& num[i] < num[j]) {
与
if(Integer.parseInt(num[i]) <
Integer.parseInt(num[j])) {
但是,如果其中一个字符串无法解析为整数,您将得到一个 NumberFormatException。
关于java - 在 if 语句中获取错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28926312/