数组和习题

1、比较三个数字的大小。

 Scanner input =new Scanner(System.in);
        System.out.println("三个数。");
        int a =input.nextInt();
        int c = input.nextInt();
        int b=input.nextInt();
        if (a<b&&a<c){
            System.out.println(a);
        }else if (c<a&&c<b){
            System.out.println(c);
        }else {
            System.out.println(b);
        }

2、题目:有1对刚刚出生的兔子在第三个月后开始产下一对小兔子。产下的兔子在第三个月开始产下一对兔子......兔子不死的情况下第10个月又多少只。

在分析后发现他们的关系是1,1,2,3,5,8,13........也就是说前俩个数相加等于下一个。我们可以用数组解决。

 public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("计算的月数。");
        int i = input.nextInt();//输入要求的月数。
        int[] x = {1, 1};//定义一个数组勇于i<=2时候输出对应的兔子数量。
        int[] hear = new int[i + 1];//i>2时候开始进行调用tuzi方法计算。
        hear[0] = hear[1] = 1;
        if (i == 1) {//判断i值是否大于2.
            System.out.println("第1个月有" + x[0] + "对兔子。共有" + x[0] * 2 + "只");
        } else if (i == 2) {//判断i值是否大于2.
            System.out.println("第2个月有" + x[1] + "对兔子。共有" + x[0] * 2 + "只");
        } else {//i的值大于2进行调用tuzi方法。
            //下面俩个输出是为什么大于2的同时也能有1月和二月。
            System.out.println("第1个月有" + x[0] + "对兔子。共有" + x[0] * 2 + "只");
            System.out.println("第2个月有" + x[1] + "对兔子。共有" + x[0] * 2 + "只");
            tuzi(i);//调用方法tuzi。
            }
        }

    public static void tuzi(int i) {
        int[] hear = new int[i + 1];//定义数组并且给i+1保证输出月份能输出到i。
        hear[0] = hear[1] = 1;//将数组的前俩个定义为1.
        for (int a = 2; a <= i; a++) {

            hear[a] = hear[a - 1] + hear[a - 2];//后一个数等于前俩个的和.。
                //里面的a+1是保证输出月份与只对应。
                System.out.println("第" + (a+1) + "个月有" + (hear[a]) + "对兔子,共有" + (hear[a] * 2) + "只");
            }


        }
    }

结果:计算的部分并不多。多的是让整个程序输出时候好看。

计算的月数。
10
第1个月有1对兔子。共有2只
第2个月有1对兔子。共有2只
第3个月有2对兔子,共有4只
第4个月有3对兔子,共有6只
第5个月有5对兔子,共有10只
第6个月有8对兔子,共有16只
第7个月有13对兔子,共有26只
第8个月有21对兔子,共有42只
第9个月有34对兔子,共有68只
第10个月有55对兔子,共有110只
第11个月有89对兔子,共有178只

进程已结束,退出代码为 0

3、输出100到200之间的素数(质数)。

public static void main(String[] args) {
        //Scanner input = new Scanner(System.in);
        //System.out.println("计算的月数。");
        int a = 0;
        for (int i=100;i<=200;i++){//循环输出100到200的数字。
         if (i%3==0 ||i%5==0 ||i%2==0 ||i%7==0){//判断条件不能被2,3,5,7整除。

            }else {
                System.out.println(i+"是素数");
                a++;//统计素数输出的次数。
            }
            }
        System.out.println("总的有"+a);
        }

4、输出一个数然后判断他是否是数组内的数。

Scanner input = new Scanner(System.in);
        System.out.println("输入想要查找的数字。");
        int a = input.nextInt();
        int [] shuzu ={1,2,3,5,4,8,9,7,5,45,455,4,5,45,32,23,21};
        int x=shuzu.length;//获取数组长度
        boolean flag =false;//定义布尔数组。
        for (int i=0;i<x;i++ ){
            int y =shuzu[i];//将数组分别赋值于y
            if (a==y){//将i与y对比如果有就结束,没有的话继续
                flag=true;//这里可以弄个输出语句,但如果不是这个数他就不好输出(还是动手试试才知道)
                break;
            }

        }
        if (flag){
            System.out.println("你猜对了");
        }else {
            System.out.println("没有这个数");
        }

5、水仙花数:个,十,百每一位上的数的三次方相加等于这个三位数。

nt a,g,s,b,k,c,num;

        for (a=100;a<1000;a++){
            b=a/100;//提出百位
            s=a%100;
            c=s/10;//提出10位
            g=s%10;//提出各位
            num =b*b*b+c*c*c+g*g*g;
            


            if (a==num){
                System.out.println(a);
            }

        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值