java练习2
给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
Scanner sc=new Scanner(System.in); System.out.println("请输入不多于5位的正整数"); String a=sc.next(); int n=0; String str=""; for(int i=a.length()-1;i>=0;i--) { char c=a.charAt(i); n++; str=str+c; } System.out.println("数字的位数是:"+n); System.out.println("逆序打印为:"+str);
一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
Scanner sc=new Scanner(System.in); System.out.println("请输入一个五位数:"); String str=sc.next(); if(str.charAt(0)==str.charAt(4)&&str.charAt(1)==str.charAt(3)) { System.out.println("这是一个回文数"); } else { System.out.println("这不是一个回文数"); }
将一个数组逆序输出。
Scanner sc=new Scanner(System.in); System.out.println("输入数字的个数:"); int n=sc.nextInt(); int arr[]=new int[n]; for(int i=0;i<arr.length;i++) { System.out.println("输入第"+(i+1)+"个数的值"); arr[i]=sc.nextInt(); } System.out.println("输入的数组为:"); for(int i:arr) { System.out.print(i+" "); } int ary[]=new int[n]; for(int i=0;i<arr.length;i++) { ary[i]=arr[arr.length-1-i]; } System.out.println("\n逆序输出数组为:"); for(int i:ary) { System.out.print(i+" "); }
有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
double a=1,b=2,d=0,c=0; for(int i=0;i<20;i++) { c=c+b/a; d=a; a=b; b=b+d; } System.out.println("前20项之和是:"+c);
输入某年某月某日,判断这一天是这一年的第几天?
Scanner sc=new Scanner(System.in); System.out.println("请输入年份:"); int n=sc.nextInt(); System.out.println("请输入月份:"); int y=sc.nextInt(); System.out.println("请输入日期:"); int r=sc.nextInt(); int a=0; if(n<=0) System.out.println("请输入正确的年份"); else { if((n%4==0&&n%100!=0)||n%400==0) { System.out.println("这是闰年"); if(y>12||y<0) System.out.println("请输入正确的月份"); else { if(y==1) { if(r<0||r>31) System.out.println("输入的日期有误"); else a=r; } if(y==2) { if(r>29||r<0) System.out.println("输入的日期有误"); else a=31+r; } if(y==3) { if(r<0||r>31) System.out.println("输入的日期有误"); else a=31+29+r; } if(y==4) { if(r<0||r>30) System.out.println("输入的日期有误"); else a=31+29+31+r; } if(y==5) { if(r<0||r>31) System.out.println("输入的日期有误"); else a=31+29+31+30+r; } if(y==6) { if(r<0||r>30) System.out.println("输入的日期有误"); else a=31+29+31+30+31+r; } if(y==7) { if(r<0||r>31) System.out.println("输入的日期有误"); else a=31+29+31+30+31+30+r; } if(y==8) { if(r<0||r>31) System.out.println("输入的日期有误"); else a=31+29+31+30+31+30+31+r; } if(y==9) { if(r<0||r>30) System.out.println("输入的日期有误"); else a=31+29+31+30+31+30+31+31+r; } if(y==10) { if(r<0||r>31) System.out.println("输入的日期有误"); else a=31+29+31+30+31+30+31+31+30+r; } if(y==11) { if(r<0||r>30) System.out.println("输入的日期有误"); else a=31+29+31+30+31+30+31+31+30+31+r; } if(y==12) { if(r<0||r>31) System.out.println("输入的日期有误"); else a=31+29+31+30+31+30+31+31+30+31+30+r; } } } else { System.out.println("这是平年"); if(y>12||y<0) System.out.println("请输入正确的月份"); else { if(y==1) { if(r<0||r>31) System.out.println("输入的日期有误"); else a=r; } if(y==2) { if(r>28||r<0) System.out.println("输入的日期有误"); else a=31+r; } if(y==3) { if(r<0||r>31) System.out.println("输入的日期有误"); else a=31+28+r; } if(y==4) { if(r<0||r>30) System.out.println("输入的日期有误"); else a=31+28+31+r; } if(y==5) { if(r<0||r>31) System.out.println("输入的日期有误"); else a=31+28+31+30+r; } if(y==6) { if(r<0||r>30) System.out.println("输入的日期有误"); else a=31+28+31+30+31+r; } if(y==7) { if(r<0||r>31) System.out.println("输入的日期有误"); else a=31+28+31+30+31+30+r; } if(y==8) { if(r<0||r>31) System.out.println("输入的日期有误"); else a=31+28+31+30+31+30+31+r; } if(y==9) { if(r<0||r>30) System.out.println("输入的日期有误"); else a=31+28+31+30+31+30+31+31+r; } if(y==10) { if(r<0||r>31) System.out.println("输入的日期有误"); else a=31+28+31+30+31+30+31+31+30+r; } if(y==11) { if(r<0||r>30) System.out.println("输入的日期有误"); else a=31+28+31+30+31+30+31+31+30+31+r; } if(y==12) { if(r<0||r>31) System.out.println("输入的日期有误"); else a=31+28+31+30+31+30+31+31+30+31+30+r; } } } } System.out.println("这是一年的第"+a+"天");
输入三个整数x,y,z,请把这三个数由小到大输出。
int arr[]=new int[3]; Scanner sc=new Scanner(System.in); for(int i=0;i<3;i++) { System.out.println("请输入"+(i+1)+"个整数:"); arr[i]=sc.nextInt();; } System.out.println("输入的数字为:"); for (int j:arr) { System.out.print(j+" "); } for (int j = 0; j < arr.length - 1; j++) { for (int i = 0; i < arr.length - 1 - j; i++) { if (arr[i] > arr[i + 1]) { int n = arr[i]; arr[i] = arr[i + 1]; arr[i + 1] = n; } } } System.out.print("\n由小到大排列为:"); for (int i : arr) { System.out.print(i+" "); }