Java 升序与否
如果是升序,我需要按升序打印。 如果不是,则打印其他内容Java 升序与否,java,Java,如果是升序,我需要按升序打印。 如果不是,则打印其他内容 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])
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");
}
你似乎在做这个练习时遇到了比你应该遇到的更多的麻烦。所以我只给出一个提示,因为这看起来像是家庭作业:为了确定顺序,应该进行n-1比较。使用for循环来实现这一点 澄清一下:您提供的代码不包含用于比较数字的for循环,而是进行一些与验证数字顺序无关的比较。提示: 以下两个比较没有任何用处:a[0]对于其中一个,表达式a[0]==a[0]将始终计算为true,这意味着您当前的代码将始终输入第一个条件并以升序打印 另一方面,如果不进行某种迭代,就无法确定n个元素的列表是按升序排列的。您需要使用循环或递归来相互检查数组的元素。试试下面的代码
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");
}
}
}
你为什么这么做?a[0]==a[0]。我想,你可以算出这个比较的结果。