Java编程题(3)

这是我第三个给大家分享题,如果想看看以前的例题,请点开我的博客,查看作业分栏。谢谢收看。

今天我们来看一些关于流程控制语句的例题,循环是我们经常能使用到的。下面就一起来看下题吧。

Demo03_01

在这里插入图片描述
这个题我们还是先找数据:a b c delt r1 r2。
大致这个题就分为这些步骤步骤:
1.提示用户输入abc三个参数;
2.计算delt=bb-4a*c;
3.判断delt的值;
其中就delt值有分歧:他分为三个情况: delt>0 || delt>0 || delt<0
delt>0:输出两个解
delt>0: 输出一个解
delt<0: 无实数解

下面是我的代码:

import java.util.Scanner;
class  Demo03_01{
    public static void main(String[] args){
        //1.
        Scanner scanner=new Scanner(System.in);
        System.out.print("请输入a,b,c:");
        double a=scanner.nextDouble();
        double b=scanner.nextDouble();
        double c=scanner.nextDouble();
        //2.
        double delt=b*b-4*a*c;
        //3.
        if(delt>0){
            double r1=(-b+Math.sqrt(delt))/(2*a);
            double r2=(-b-Math.sqrt(delt))/(2*a);
            System.out.printf("r1=%.2f,r2=%.2f",r1,r2);
        }else if(delt==0){
            double r=(-b-Math.sqrt(delt))/(2*a);
            System.out.printf("r=%.2f",r);
        }else{
            System.out.println("无实数解!");
        }
    }
}

Demo03_02

在这里插入图片描述
这个题我们还是先找数据:a b c d e f x y
大致这个题就分为这些步骤步骤:
1.提示用户输入a b c d e f六个参数;
2.计算x y;
3.判断ad-bc的值;
下面是我的代码:

import java.util.Scanner;
class Demo03_02{
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        System.out.print("Enter a,b,c,d,e,f: ");
        double a = scanner.nextDouble();
        double b = scanner.nextDouble();
        double c = scanner.nextDouble();
        double d = scanner.nextDouble();
        double e = scanner.nextDouble();
        double f = scanner.nextDouble();
     	if((a*d-b*c)==0){
            System.out.println("此方程无解");
        }
        else {
            double m =(e*d-b*f)/(a*d-b*c);
            double n =(a*f-e*c)/(a*d-b*c);
            System.out.println("x =" + m + "y =" + n);
       }
    }
}

Demo03_03

在这里插入图片描述
这个题我们还是先找数据:今天的周几 未来的天数 未来的周几
我们可以思索一个公式:
(今天的周几+未来的天数)%7=未来的周几
因为星期是每七天一循环的?不管咋变,你算出来几,代表的就是星期几。
例如:
1月1日是周一 1%7=1
1月20日 20%7=6
步骤:
1.输入今天是周几
2.输入未来的几天
3.打印未来的几天是周几

下面是我的代码:`

import java.util.Scanner;
class Demo03_03{
    public static void main(String[] args){
        //1.
        Scanner scanner=new Scanner(System.in);
        System.out.print("今天是周几:");
        int today=scanner.nextInt();
        //2.
        System.out.print("未来的几天:");
        int future=scanner.nextInt();
        //3.
        int futureDay=(today+future)%7;

        String todayStr="";
        String futureDayStr="";
        
        if(today==0){
            todayStr="周日";
        }else if(today==1){
            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==0){
            futureDayStr="周日";
        }else if(futureDay==1){
            futureDayStr="周一";
        }else if(futureDay==2){
            futureDayStr="周二";
        }else if(futureDay==3){
            futureDayStr="周三";
        }else if(futureDay==4){
            futureDayStr="周四";
        }else if(futureDay==5){
            futureDayStr="周五";
        }else if(futureDay==6){
            futureDayStr="周六";
        }
        System.out.println("今天是"+todayStr+",未来的日子是"+futureDayStr);
    }
}

Demo03_04

在这里插入图片描述
这题你看出有啥规律没?
其实我们算一个数字是否回文,你就把他颠倒过来就解决了
颠倒过来跟原来数字进行比较,一样就是回文
大致这个题就分为这些步骤步骤:
1.提示用户输入数字;
2.计算原数字的倒序;
3.判断是否回文;
下面是我的代码:‘

import java.util.Scanner;
class Demo03_04{
    public static void main(String[] args){
        //1.输入一个数字
        Scanner scanner=new Scanner(System.in);
        System.out.print("请输入一个数字:");
        int num=scanner.nextInt();
        int temp=num;
        //2.拼接出该数字的反序
        int sum=0;
        sum=sum*10+num%10;
        num/=10;
        sum=sum*10+num%10;
        num/=10;
        sum=sum*10+num%10;
        num/=10;
        sum=sum*10+num%10;
        num/=10;
        sum=sum*10+num%10;
        num/=10;
        sum=sum*10+num%10;
        num/=10;
        if(sum==temp){
            System.out.println("是回文");
        }else{
            System.out.println("不是回文");
        }
    }
}

Demo03_06

在这里插入图片描述
这题数据由:电脑随机产生的一个数字com 用户输入的一个数字usr
0 1 2
剪刀 石头 布
步骤:
1.提示用户输入一个数字
2.计算机随机产生一个数字
3.将两个数字进行对比,分输赢,一共三种情况:
平局: com==usr
用户赢: usr=0 com=2 | usr=1 com=0 | usr=2 com=1
用户输: else

下面是代码演示:

import java.util.*;//*表示导入util总包
class Demo03_06{
    public static void main(String[] args){
        //1.
        Scanner scanner=new Scanner(System.in);
        System.out.print("请输入 剪刀0 石头1 布2:");
        int usr=scanner.nextInt();
        //2.
        Random random=new Random();
        int com=random.nextInt(3);

        String usrStr="";
        String comStr="";
        switch(usr){
            case 0: //if usr==0
                usrStr="剪刀"; 
                break;
            case 1:// if usr==1
                usrStr="石头";
                break;
            case 2:// if usr==2
                usrStr="布";
                break;
        }
        switch(com){
            case 0: 
                comStr="剪刀"; 
                break;
            case 1:
                comStr="石头";
                break;
            case 2:
                comStr="布";
                break;
        }
        //3.
        if(usr==com){
            System.out.printf("用户是%s,电脑是%s,平局",usrStr,comStr);
        }else if(usr==0&&com==2 || usr==1&&com==0 || usr==2&&com==1){
            System.out.printf("用户是%s,电脑是%s,用户赢",usrStr,comStr);
        }else{
            System.out.printf("用户是%s,电脑是%s,用户输",usrStr,comStr);
        }
    }
}

Demo03_08

在这里插入图片描述
这题的数据:圆的圆心 圆的半径 点的坐标 距离。
步骤:
1.提示用户输入点的坐标
2.计算点到圆心之间的距离
3.判断距离和半径之间的关系
距离>半径 点在圆外
距离==半径 点在圆上
距离<半径 点在圆内
下面是代码演示:

import java.util.Scanner;
class Demo03_08{
    public static void main(String[] args){
        //1.
        Scanner scanner=new Scanner(System.in);
        System.out.print("请输入坐标点:");
        double x=scanner.nextDouble();
        double y=scanner.nextDouble();
        //2.
        double xo=0;
        double yo=0;
        double radius=10;
        double distance=Math.sqrt(Math.pow(x-xo,2)+Math.pow(y-yo,2));
        //3.
        if(distance>radius){
            System.out.println("点在圆外");
        }else if(distance==radius){
            System.out.println("点在圆上");
        }else{
            System.out.println("点在圆内");
        }
    }
}

这是今天的分享例题,这次例题较多,分三次发布,感谢您的阅读。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值