//打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
// (例如: 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]);
}
}
}