package s1; //题目:利用递归方法求5!。 public class Fs22 { public static void main(String[] args) { System.out.println(Fx(5)); } public static int Fx(int i){ if (i==1){ return 1; } return i*Fx(i-1); } }
package s1; //题目:有5个人坐在一起,问第五个人多少岁? // 他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。 // 问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。 // 最后问第一个人,他说是10岁。请问第五个人多大? public class Fs23 { public static void main(String[] args) { int a=10; System.out.println(a+2+2+2+2); System.out.println(Fx(5)); } public static int Fx(int i){ if (i==1){ return 10; }return Fx(i-1)+2; } } 其他
package s1; 错误思路1 import java.util.ArrayList; import java.util.Scanner; //题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。 // // 程序分析:创建一个五位数数的数组,把输入数字的每位数的值赋值到数组里面 public class Fs24 { public static void main(String[] args) { System.out.println("请输入一个不多于5位的正整数"); Scanner x=new Scanner(System.in); int x1=x.nextInt(); int[] arr=new int[5]; int s=0; for (int i=0;i<=5;i++);{ int a=0; arr[a]=x1%10; x1=x1%10; System.out.println(arr[a]); } System.out.println(); } }
package s1; 错误思路2 import java.util.ArrayList; import java.util.Scanner; //题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。 // // 程序分析:创建一个五位数数的数组,把输入数字的每位数的值赋值到数组里面 public class Fs24 { public static void main(String[] args) throws Exception { System.out.println("请输入一个不多于5位的正整数"); Scanner x=new Scanner(System.in); int x1=x.nextInt(); int[] arr=new int[10]; int s=0; for (int i=0;i<arr.length; i++){ arr[i]=x1%10; x1=x1/10; if (x1%10!=0){ System.out.println(i); System.out.println(arr[i]);} } } }
正确思路:
package test; import java.util.Scanner; public class Test24 { public static void main(String[] args){ System.out.println("请输入一个不多于5位的正整数"); Scanner sc=new Scanner(System.in); String [] a=sc.nextLine().split(""); System.out.println("长度是:"+a.length); for(int i=a.length-1;i>=0;i--){ System.out.print(a[i]); } } } 其他写法
package test; import java.util.Scanner; public class Fs241 { public static void main(String[] args) { System.out.println("请输入一个不大于5位数的数字:"); Scanner scanner=new Scanner(System.in); int num=scanner.nextInt();//获取输入 int[] arr=new int[5];//创建5位数的数组 int i=0; //循环取位 do{ arr[i]=num%10; num=num/10; i++; }while (num!=0);//只剩下一位时,说明获取完毕,跳出循环 System.out.println("输入数字串的是"+i+"位数的"); System.out.println("逆序输出:"); //打印出数组 for (int j = 0; j < i;j++) { System.out.print(arr[j]+" "); } scanner.close(); } }