关于循环的一些经典例题(经典if switch)

本文通过探讨回文数这一经典题目,深入解析循环在编程中的应用。通过实例展示如何判断一个数是否为回文,并用图表辅助理解,帮助初学者更好地掌握简单循环的运用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import java.util.Scanner;
class Demo3_03{
    public static void main(String[] args){
        Scanner input=new Scanner(System.in);
        System.out.print("今天是周几(周日为0,周一为1,以此类推):");
        int today=input.nextInt();
        System.out.print("今天之后的天数:");
        int future=input.nextInt();
        int futureday=(today+future)%7;
        String todaystr="";//定义一个空字符串,一会存字符
        String futurestr="";//定义一个空字符串,一会存字符
        if(today==0){//        if语句执行
            todaystr="周日";
        }else if(today==1){  // 如果 if没执行,继续判断这个条件
            todaystr="周一";
        }else if(today==2){// 如上
            todaystr="周二";
        }else if(today==3){
            todaystr="周三";
        }else if(today==4){
            todaystr="周四";
        }else if(today==5){
            todaystr="周五";
        }else if(today==6){
            todaystr="周六";
        } if(futureday==1){
            futurestr="周一";
        }else if(futureday==2){
            futurestr="周二";
        }else if(futureday==3){
            futurestr="周三";
        }else if(futureday==4){
            futurestr="周四";
        }else if(futureday==5){
            futurestr="周五";
        }else if(futureday==6){
            futurestr="周六";
        }else if(future==0){
            futurestr="周日";
        }
        System.out.println("今天是"+todaystr+"未来"+future+"天后是"+futurestr);
}
}

回文数

import java.util.Scanner;
class Demo3_04{
    public static void main(String[] args){
         Scanner input=new Scanner(System.in);
        System.out.print("请输入一个三位数:");
        int num=input.nextInt();
        int temp=num;//一会比较需要的数字,我们首先给存起来
        int sum=0;
        sum=sum*10+num%10; //这是回文数的一个规律,需要我们记住,因为经常使用 找出三位数最后一位*10+倒数第二位,后面都是一样的规律
        num/=10;
        sum=sum*10+num%10;//如果我们拿999来说   987=(999%10*(10+8)*(10+7));
        num/=10;
        sum=sum*10+num%10;
        num/=10;
        if(temp==sum){
            System.out.print(temp+"是一个回文数");
        }else
        {
            System.out.print(temp+"不是一个回文数");
        }

    }
}

import java.util.Scanner;
import java.util.Random;
class Demo3_06{
    public static void main(String[] args){
        Scanner input=new Scanner(System.in);
        System.out.print("请输入剪刀(0),石头(1),布(2):");
        int usr=input.nextInt();
        int robot=(int)(Math.random()*3);//左开右闭
        //Random random=new Random();
        //int com=random.nextInt(3);
        String usrStr="";
        String robotStr="";
        switch(usr){//使用Switch 语句  
            case 0: //if usr==0
                usrStr="剪刀"; 
                break;
            case 1:// if usr==1
                usrStr="石头";
                break;
            case 2:// if usr==2
                usrStr="布";
                break;
        }
        switch(robot){//在使用一个Switch 语句
            case 0: 
                robotStr="剪刀"; 
                break;
            case 1:
                robotStr="石头";
                break;
            case 2:
                robotStr="布";
                break;
        }
        if(robot==usr){
            System.out.printf("用户是%s,电脑是%s,平局",usrStr,robotStr);
        }else if(usr==0&&robot==2 || usr==1&&robot==0 || usr==2&&robot==1){
            System.out.printf("用户是%s,电脑是%s,用户赢",usrStr,robotStr);
        }
        else{
            System.out.printf("用户是%s,电脑是%s,用户输",usrStr,robotStr);
        }

    }
}

 

 

 

 

import java.util.Scanner;
class Demo03_09{
    public static void main(String[] args){
        Scanner scanner=new Scanner(System.in);
        //1.提示用户输入一个点的坐标
        System.out.print("请输入一个坐标:");
        double x=scanner.nextDouble();
        double y=scanner.nextDouble();
        //2.先大致判断一下坐标的范围
        //3.再精确的判断坐标的范围
        if(x>=0&&x<=200&&y<=-0.5*x+100){
            System.out.println("点再三角形内");
        }else{
            System.out.println("点再三角形外");
        }
    }
}

画个图好看一点这个题

        double h1=scanner.nextDouble();
        //2.再输入小矩形的中心,宽和高
        System.out.print("请输入第2个矩形的信息:");
        double x2=scanner.nextDouble();
        double y2=scanner.nextDouble();
        double w2=scanner.nextDouble();
        double h2=scanner.nextDouble();

        double inXMin=x1-(w1-w2)/2;
        double inXMax=x1+(w1-w2)/2;
        double inYMin=y1-(h1-h2)/2;
        double inYMax=y1+(h1-h2)/2;

        double outXMin=x1-(w1+w2)/2;
        double outXMax=x1+(w1+w2)/2;
        double outYMin=y1-(h1+h2)/2;
        double outYMax=y1+(h1+h2)/2;
        if(x2>=inXMin&&x2<=inXMax&&y2>=inYMin&&y2<=inYMax){
            System.out.println("小矩形在大矩形里面!");
        }else if(x2<=outXMin||x2>=outXMax||y2<=outYMin||y2>=outYMax){
            System.out.println("小矩形在大矩形外面!");
        }else{
            System.out.println("小矩形和大矩形相交!");
        }
    }
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值