JAVA练习题08

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();

    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值