java中定义一个包含10个元素的数组,对其赋值,使得每个元素等于其下标,最后按从大到小的顺序输出。
publicclassTest07{publicstaticvoidmain(String[]args){int[]a=newint[10];for(inti=0;i<a...
public class Test07
{
public static void main(String[] args)
{
int[] a=new int[10];
for (int i = 0; i < a.length; i++)
{
a[i]=i;
}
int[] newArr=new int[a.length];
System.out.println("打印排序前的数组:");
for(int i=0;i<newArr.length;i++)
{
newArr[i]=a[i];
System.out.print(newArr[i]+" ");
}
System.out.println();
System.out.println("打印排序后的数组:");
for(int i=0;i<newArr.length;i++)
{
for(int j=0;j<newArr.length;j++)
{
if(a[i]>a[j])
{
int temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
System.out.println(Arrays.toString(newArr));
}
}
我知道可以用for(int i=0;i<newArr.length;i++)
{
newArr[i]=a[newArr.length-i-1];
System.out.print(newArr[i]+" ");
},但我就想知道,我用2层for为什么错了 展开
{
public static void main(String[] args)
{
int[] a=new int[10];
for (int i = 0; i < a.length; i++)
{
a[i]=i;
}
int[] newArr=new int[a.length];
System.out.println("打印排序前的数组:");
for(int i=0;i<newArr.length;i++)
{
newArr[i]=a[i];
System.out.print(newArr[i]+" ");
}
System.out.println();
System.out.println("打印排序后的数组:");
for(int i=0;i<newArr.length;i++)
{
for(int j=0;j<newArr.length;j++)
{
if(a[i]>a[j])
{
int temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
System.out.println(Arrays.toString(newArr));
}
}
我知道可以用for(int i=0;i<newArr.length;i++)
{
newArr[i]=a[newArr.length-i-1];
System.out.print(newArr[i]+" ");
},但我就想知道,我用2层for为什么错了 展开
1个回答
展开全部
import java.util.Arrays;
public class testArray {
public static void main(String[] args) {
int[] arr = new int[10];
for (int i = 0; i < 10; i++) {
arr[i] = i;
}
Arrays.sort(arr);
for (int i = 9; i >= 0; i--) {
System.out.print(arr[i] + "");
}
}
}
追问
for(int i=0;ia[j])
{
int temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
这个做法不是把一个数组按升序排列的吗?我有点不太懂。我自己觉得是的
追答
public class testArray {
public static void main(String[] args) {
// 赋值
int[] arr = new int[10];
for (int i = 0; i < arr.length; i++) {
arr[i] = i;
}
// 输出排序之前数组
System.out.println("排序之前:");
for (int e : arr) {
System.out.print(e + " ");
}
new testArray().maopao(arr);
// 输出排序之后数组
System.out.println("\n排序之后:");
for (int i = arr.length - 1; i >= 0; i--) {
System.out.print(arr[i] + " ");
}
}
private void maopao(int[] arr) {
int temp;
for (int i = 0; i < arr.length; ++i) {
for (int j = arr.length - 1; j > i; --j) {
if (arr[j] < arr[j - 1]) {
temp = arr[j];
arr[j] = arr[j - 1];
arr[j - 1] = temp;
}
}
}
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询