第三章流程控制语句

  1. 代数,解一元二次方程
    使用代码写出一元二次方程的两个解,提示用户输入a b c的值,用方程判别式b^2-4ac,如果它是正值,该方程就有两个实数根,如果它为零显示一个根,如果他是负数,方程式无实数根。
import java.util.Scanner;//从文件夹提取Scanner
class Equ{
    public static void main(String[] args){
        Scanner input= new Scanner (System.in);
        System.out.print("输入a b c的值:");//提示用户输入a b c的值
        double a=input.nextDouble();
        double b=input.nextDouble();
        double c=input.nextDouble();
        double r1=(-b+Math.pow((b*b-4*a*c),0.5))/2*a;//第一个根的计算公式
        double r2=(-b-Math.pow((b*b-4*a*c),0.5))/2*a;//第二个根的计算公式
        if (b*b-4*a*c>0)
            System.out.print("一元二次方程有两个根是:"+r1+r2);
            //输出两个根
        else if(b*b-4*a*c==0)
            System.out.print("一元二次方程只有一个根是"+r1);
            //输出一个根
            else
                System.out.print("该方程无实数根");       
    }
}
  1. (代教:求解 2x 2 线性方程)可以使用编程练习题丨. 丨 3 中给出的 Cramer 规则解线性方程组: ax+by=e ed-bf af -ec
    cx+dy=f ad-be ad-be
    编 写 程 序,提 示 用 户 输 入, 然 后 显 示 结 果。如 果ad-bc为 0, 报告消息 方程式无解。
import java.util.Scanner;
class Cramer{
    public static void main(String[] args){
        Scanner input= new Scanner (System.in);
        System.out.print("输入a b c d e f的值:");
        double a=input.nextDouble();
        double b=input.nextDouble();
        double c=input.nextDouble();
        double d=input.nextDouble();
        double e=input.nextDouble();
        double f=input.nextDouble();
        double x=(e*d-b*f)/(a*d-b*c);
        double y=(a*f-e*c)/(a*d-b*c);
        if(a*d-b*c!=0)
           System.out.println("x的值是:"+x+"  y的值是:"+y);
        else 
        System.out.println("该方程无解");
    }
}

  1. (找到将来的日期)编写一个程序,提示用户输入代表今天日期的数字(周H 为 0, 周一为 1,……, 周六为 6 )。同时,提示用户输入一个今天之后的天数,作为代表将来某天的数字,然后显示这 天是星期几。下面是一个运行示例:
import java.util.Scanner;
class Demo03{
    public static void main(String[] args){
        Scanner input= new Scanner (System.in);
        System.out.print("今天星期");
        int  today=input.nextInt();
        System.out.println("未来的几天:");
        int future=input.nextInt();
        int futureDay=(today+future)%7;
        System.out.print("未来"+future+"天是星期"+futureDay);


    }
}
  1. (回文数字)编写一个程序,提示用户输人一个三位的整数,然后确定它是否回文数字。当从左 到右,以及从右到左都是一样的话,这个数字称为回文数
import java.util.Scanner;
class Demo04{
    public static void main(String[] args){
        Scanner input= new Scanner (System.in);
        System.out.print("输入一个三位数");
       int num=input.nextInt();
        int sum=0;
        int temp=num;
        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.print("是回文数");
        }else{
            System.out.print("不是回文数");
        }
        

    }
}
  1. (游戏:彩票)修改程序清单 3-8,产生三位整数的彩票。程序提示用户输入一个三位整数,然 后依照下面的规则判定用户是否贏得奖金:
    1)如果用户输人的所有数匹配彩票的确切顺序,奖金是丨 0 000美元。
    2)如果用户输人的所有数匹配彩票的所有数字,奖金是 3 000 美元。
    3)如果用户输人的其中一个数匹配彩票号码中的一个数,奖金是 1 000美元。
import java.util.Scanner;
class Demo05{
    public static void main(String[] args){
        Scanner input= new Scanner (System.in);
        System.out.print("输入你选择的一个两位数:");
       int temp=input.nextInt();
       int number=(int)(Math.random()*100);
       if (temp ==number)
       System.out.print("恭喜获得10000美元的奖金");
       else if (number%10==temp/10&&number/10==number%10)
       System.out.print("恭喜获得3000美元的奖金");
       else if (number%10==temp/10||number/10==temp/10||number%10==temp%10||number%10==temp%10)
       System.out.print("恭喜获得1000美元的奖金");
       else 
       System.out.print("很遗憾!你没有中奖");
    }
}
``
发布了7 篇原创文章 · 获赞 0 · 访问量 138

猜你喜欢

转载自blog.csdn.net/weixin_43748564/article/details/104226030