java习题答案2

    科技2024-09-29  18

    //打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。 // (例如: 153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。

    public class Test12 { //打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。 // (例如: 153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 public static void main(String[] args) { int count=0; for(int i=100;i<1000;i++){ int n1=i%10; int n2=i/100; int n3=(i/10)%10; int a=n1*n1*n1+n2*n2*n2+n3*n3*n3; if(i==a){ System.out.println(i); count++; } } System.out.println("水仙花的个数为"+count); } }

    //已知 XYZ+YZZ=532,其中,X、Y、Z 为数字,编程求出 X、Y 和 Z 的值。 //只可能x为负数

    public class Test11 { //已知 XYZ+YZZ=532,其中,X、Y、Z 为数字,编程求出 X、Y 和 Z 的值。 //只可能x为负数 public static void main(String[] args) { int x = 0; int y = 0; int z = 0; //枚举法 for (x = -9; x < 10; ++x) { for (y = 0; y < 10; ++y) { for (z = 0; z < 10; ++z) { if (x * 100 + y * 10 + z + y * 100 + z * 10 + z == 532) { System.out.println( x ); } } } } } }

    //编写程序,从键盘输入一个 0~99999 之间的任意数,判断输入的数是几位数?

    import java.util.Scanner; public class Test10 { //编写程序,从键盘输入一个 0~99999 之间的任意数,判断输入的数是几位数? public static void main(String[] args) { Scanner input=new Scanner(System.in); int count=0; long n=input.nextLong(); while(n>0){ n/=10; count++; } System.out.println(count); } }

    //输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。

    import java.util.Scanner; public class Test9 { //输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。 public static void main(String[] args) { int[] a=new int[5]; int i=0; Scanner input=new Scanner(System.in); for( i=0;i<a.length;i++){ a[i]=input.nextInt(); } for( i=0;i<a.length;i++){ System.out.print(a[i]+" "); } //找出最大值 for(i=0;i<a.length;i++){ int count=0; for(int j=0;j<a.length;j++){ if(a[i]>a[j]) count++; } if(count==4) break; } int temp=0; //交换位置 temp=a[0]; a[0]=a[i]; a[i]=temp; for( i=0;i<a.length;i++){ System.out.print(a[i]+" "); } //最小同上 } }

    //将一个数组逆序输出。

    import java.util.Arrays; import java.util.Scanner; public class Test8 { //将一个数组逆序输出。 public static void main(String[] args) { int[] a=new int[5]; Scanner input=new Scanner(System.in); for(int i=0;i<a.length;i++){ a[i]=input.nextInt(); } //小想法 Arrays.sort(a); for(int i=a.length-1;i>=0;i--){ System.out.print(a[i]+" "); } System.out.println("----------------"); //逆序排列 for(int i=0;i<a.length-1;i++){ for(int j=i;j<a.length;j++){ if(a[i]<a[j]){ int temp=0; temp=a[i]; a[i]=a[j]; a[j]=temp; } } } for(int i=0;i<a.length;i++){ System.out.print(a[i]+" "); } } }

    //11、有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中

    import java.util.Arrays; import java.util.Scanner; public class Test7 { //11、有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中 public static void main(String[] args) { int[] a=new int[5]; Scanner input=new Scanner(System.in); for(int i=0;i<a.length;i++){ a[i]=input.nextInt(); } Arrays.sort(a); for(int i=0;i<a.length;i++){ System.out.println(a[i]); } int n=input.nextInt(); Arrays.copyOf(a,a.length+1);//数组扩容 a[a.length-1]=n; Arrays.sort(a); for(int i=0;i<a.length;i++){ System.out.println(a[i]); } } }
    Processed: 0.011, SQL: 8