习题1--循环类

今天杨杨杨同学给大家分享几道有关循环类的题,以便大家更好理解
第一题
在这里插入图片描述

import java.util.*;
class Class12{
    public static void main(String[] args){
        /*
        数据:自动生成   键入
        1.电脑随机生成一个数
        2.判断二者的大小
        3.循环体为先输入,再比较
         */
         Random ranodom=new Random();
         int com=ranodom.nextInt(101);
         System.out.println("Guess a magic number between a and 100");
         Scanner scanner=new Scanner(System.in);
         int usr;
         while(true){
            System.out.print("Enter your guess:");
            usr=scanner.nextInt();
            if(usr>com){
                System.out.println("Your guess is too high");
            }else if(usr<com){
                System.out.println("Your guess is too low");
            }else{
                break;
            }
         }
         System.out.println("Yes,you are right"); 
        }

}

第二题
在这里插入图片描述

import java.util.*;
class Class13{
    /*
    数据:随机输入两个整数
    1.提示用户输入两个整数
    2.判断两值的大小,取最小为界限
    3.如果能被两数整除 gcd=i;
    4.重复循环
    5.输出结果
    
     */
    public static void main(String[] args){
        Scanner scanner=new Scanner(System.in);
        System.out.print("请输入两个整数:");
        int n1=scanner.nextInt();
        int n2=scanner.nextInt();
        int gcd=1;
        for(int i=2;i<=Math.min(n1,n2);i++){
            if((n1%i==0)&&(n2%i==0)){
                gcd=i;
            }
        }
        System.out.println("最大公约数为:"+gcd);
    }
}

第三题
在这里插入图片描述

import java.util.Scanner;
class Class14{
    /*
    数据:整数 因子
    1.提示用户随机输入一个整数
    2.先判断该数是否为2 3
    3.因不知道循环次数所以写一个while循环
    4.
     */


    public static void main(String[] args){
       Scanner scanner=new Scanner(System.in);
       System.out.print("请输入一个整数:");
       int num=scanner.nextInt();
       System.out.print("升序因子为:");
       int count=0;
       if(num==2||num==3){
           System.out.print("1 "+num);
       }else{
           while(true){
                for(int i=2;i<=num;i++){
                    if(num%i==0){
                        count++;
                        if(count==1&&num==i){
                            System.out.println("1 "+i);
                        }else{
                        System.out.print(i+" ");
                        }
                         num/=i;
                        break;
                    }
                }
                if(num==1){
                    break;  
                }  
            }
       
        }
    }
}

第四题
在这里插入图片描述

import java.util.*;
class Class15{

    public static void main(String[] args){
        Scanner scanner=new Scanner(System.in);
        System.out.print("Enter the line number:");
        int line=scanner.nextInt();
        for(int i=0;i<line;i++){//行数循环
            for(int k=0;k<line-i-1;k++){
                System.out.print("  ");
            }
            //i=3 
            for(int j=-i;j<=i;j++){
                System.out.print(" "+(Math.abs(j)+1));
            }
            System.out.println();
        }

    }
}

第五题
在这里插入图片描述

class Class16{
    public static void main(String[] args){
        double pi=0;
        double flag=1;
        for(int i=0;i<1000000;i++){
            pi=pi+flag/(2*i+1);
            flag=-flag;
        }
        pi*=4;
        System.out.println(pi);
    }
}

第六题
在这里插入图片描述

class Class17{
    public static void main(String[] args){
        double jie=0;
        double sum=0;
        for(int i=0;i<1000;i++){
            if(i==0){
                jie=1;
            }else{
                jie*=i;
            }
            sum+=1.0/jie;
        }
        System.out.println(sum);
    }
}

第七题
在这里插入图片描述

import java.util.*;
class Class19{
    public static void main(String[] args){
        Random random=new Random();
        Scanner scanner =new Scanner(System.in);
        String[] s={"剪刀","石头","布"};
        int usrCount=0;
        int comCount=0;
        int com=0;
        int usr=0;
        while(true){
            com=random.nextInt(3);
            System.out.print("请输入剪刀0 石头1 布2:");
            usr=scanner.nextInt();
            if(com==usr){
                System.out.printf("电脑:%s 用户:%s 平局\n",s[com],s[usr]);
            }else if(com-usr==-1||com-usr==2){//用户赢
                System.out.printf("电脑:%s 用户:%s 用户赢\n",s[com],s[usr]);
                usrCount++;
            }else{//电脑赢
                System.out.printf("电脑:%s 用户:%s 电脑赢\n",s[com],s[usr]);
                comCount++;
            }
            if(usrCount>=3||comCount>=3){
                break;
            }
        }
        if(usrCount==3){
            System.out.println("最终用户赢");
        }else{
            System.out.println("最终电脑赢");
        }
    }
}

第八题
在这里插入图片描述

import java.util.*; 
class Home12{
    public static void main(String[] args){
        Scanner scanner=new Scanner(System.in);
        System.out.print("Enter a number:");
        int number=scanner.nextInt();
        int t=0;
        String s="";
        while(true){
            t=number%16;
            if(t>=10){
                //ABCDEF
                //10 11 12 13 14 15
                s=(char)(55+t)+s;
            }else{
                s=t+s;
            }
            number/=16;
            if(number==0){
                break;
            }
        }
        System.out.println("0x"+s);
    }
}

第九题
在这里插入图片描述

class Home16{
    public static void main(String[] args){
        double c=0;
        for(int i=0;i<8;i++){
            //i=3
            for(int k=0;k<8-i-1;k++){
                System.out.print("    ");
            }
            for(int j=-i;j<=i;j++){
                c=Math.pow(2,Math.abs(Math.abs(j)-i));
                System.out.printf("%4.0f",c);
            }
            System.out.println();
        }

///今天给大家分享的这几道题是我在做题过程中觉得特别典型的几道题,如果你有其他的方法,欢迎评论留言哦

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值