我只是想把字符串按降序排序。用户提供的输入为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语句中,我得到错误。错误:-操作员
第一件事是编译代码:回想一下整数。parse返回整数,因此不能在逻辑表达式序列中使用它。
然后,您应该提高代码的效率:将num[i]
的解析移到循环之外,并在解析失败时跳过循环,如下所示:
for ( int i = 0; i < num.length - 1; i ++ ) {
int numI;
try { numI = Integer.parse(num[i]); } catch (NumberFormatException nfe) { continue; }
for (int j = i + 1; j < num.length; j ++ )
int numJ;
try { numJ = Integer.parse(num[i]); } catch (NumberFormatException nfe) { continue; }
if (numI < numJ) {
String temp = num[ i ]; //swapping
num[ i ] = num[ j ];
num[ j ] = temp;
}
}
}
现在,当解析num[i]失败时,程序跳过嵌套循环,转到下一个字符串。
您应该从以下位置更改if:
Integer.parseInt(num[i])
&& Integer.parseInt(num[j])
&& num[i] < num[j]
到:
Integer.parseInt(num[i])
< Integer.parseInt(num[j])
^^^
&& num[i].compareTo(num[j]) < 0
^^^^^^^^^
如果你想比较两个数字,你可以比较小于/大于和/或等于。你可以申请
另请注意,如果任何数字不能解析为整数,那么您可能会得到NumberFormatException。所以我建议您首先识别输入,然后使用api将其转换为数字。
你可以代替
if(Integer.parseInt(num[i])
&& Integer.parseInt(num[j])
&& num[i] < num[j]) {
与
if(Integer.parseInt(num[i]) <
Integer.parseInt(num[j])) {
但是,如果其中一个字符串不能被解析为整数,您将获得NumberFormatException。
问题内容: i=0 for f in do echo “i value is $i” if [“$i” = “0”] then echo “here” i=$((i+1)) continue fi arr[i]=$f i=$((i+1)) done 在上面的bash脚本中,我在使用if语句时出现了一个错误,它看起来像这样 请指出我的错误。 问题答案: 采用 在bash,你需要周围的空间,并在条件
目前遇到此语法错误,错误发布在代码下方。 上面的代码,无法找出if语句上的语法错误。错误消息将很快粘贴为注释
我对if else语句有些问题,请支持
我正在从事一个项目,其中我想通过JSON和PHP将用户数据传递到在线数据库。当我在swift的XCode 6(旧版本)中工作时,此代码没有生成错误,但现在它正在生成错误 “(NSData!, NSURL响应!, NSError!)- 我想这是一个语法错误,在 swift 中使用了新的可选和强制类型运算符。 这是我的代码:
我们可以像这样使用if-field: 但是这里有一些问题,我不明白为什么。 > 如果我运行(count已定义),则会引发错误: 我们能不能先分配一个值? 当我运行count=1 if False else l.append(count 1)(注意:count=0,l=[])时,将引发一个错误: l的结果是。 使用相同的条件,如果使用if-else块,则不会出现错误。 你能解释一下区别吗?
if 语句,就是类似于「如果○○的话,做●●」,根据条件判断脚本的一部分是否执行的语法。 语法如下: if(expression) 语句或语句块 else 语句或语句块 第一个“语句或语句块”是当 expression 表达式的结果为真时执行的部分,第二个“语句或语句块”则是结果为假时执行的部分。如果不需要 else 以后的部分,可以省略。 例: if(a==b) inform("a和b相等