如果它按升序排列,我需要打印" Ascending"。 如果不是这样,请打印"否则"。
int [] a = new int[args.length];
for (int i = 0; i < args.length; i++)
{
a[i] = Integer.parseInt(args[i]);
}
if (a[0] <= args.length || a[0] == a[0])
{
System.out.println("Ascending");
}
else
{
System.out.println("Otherwise");
}
答案 0 :(得分:2)
这项运动似乎比你应该遇到的麻烦多得多。所以我只给出一个提示,因为这看起来像是作业:你应该进行n-1
比较以确定顺序。使用for
循环执行此操作。
澄清一下:您提供的代码不包含比较数字的for循环,并进行一些与验证数字顺序无关的比较。
答案 1 :(得分:2)
提示:
a[0] <= args.length
和a[0] == a[0]
。答案 2 :(得分:0)
首先,表达式a[0] == a[0]
将始终评估为true,这意味着您当前的代码将始终进入第一个条件并打印&#34; Ascending&#34;。
另一方面,如果没有某种迭代,您无法确定n
元素列表是按升序排列的。您需要使用循环或递归来检查阵列的元素是否相互对齐。
答案 3 :(得分:0)
试试此代码
public class Ascending
{
public static void main(String[] args)
{
int [] a = new int[args.length];
boolean otherwise = false;
for (int i = 0; i < args.length; i++)
{
a[i] = Integer.parseInt(args[i]);
}
for(int i=1;i<a.length;i++){
if(a[i-1]>a[i]){
otherwise = true;
}
}
if (!otherwise)
{
System.out.println("Ascending");
}
else
{
System.out.println("Otherwise");
}
}
}