【JAVA基础】【练习题2】运算符操作符分支语句

1运算符

①已知一元二次方程为:3x2=5x-1,求x的解。
注:sqrt(求平方根)、cos、sin等函数包含在Math中。具体函数用法查Java API。
示例:double result = Math.cos(Math.PI);//弧度制,等同于cos(180度)

public class Main {
    public static void main(String[] args) {
//       1.	已知一元二次方程为:3x^2=5x-1,求x的解。
//注:sqrt(求平方根)、cos、sin等函数包含在Math中。具体函数用法查Java API。
//示例:double result = Math.cos(Math.PI);//弧度制,等同于cos(180度)
        //求解一元二次方程用求根公式,一元二次方程的ax^2+bx+c=0
        //所以次题是 3x^2-5^x+1=0,a=3,b=-5,c=1
        //注意sqrt输出是double类型的
        int a =3,b=-5,c=1;
        double delta = b*b-4*a*c;
        double x1 = (-b+Math.sqrt(delta))/2*a;
        double x2 = (-b-Math.sqrt(delta))/2*a;
        if(delta==0){
            System.out.println("此方程有两个相同的解");
            System.out.println("x1=x2="+x1);
        }
        else if (delta>0){
            System.out.println("此方程有两个解");
            System.out.println("x1="+ x1);
            System.out.println("x2="+ x2);
        }
        else{
            System.out.println("此方程无解");
        }
    }
}

②已知三角形的底和高,求出三角形的面积。

public class Main {
    public static void main(String[] args) {
//      2.	已知三角形的底和高,求出三角形的面积。
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入三角形的底");
        double w = sc.nextDouble() ;
        System.out.println("请输入三角形的高");
        double h = sc.nextDouble() ;
        double s = w*h/2;
        System.out.println("面积位"+s);

    }
}

③已知三角形的三边长,求出三角形的面积。(请自行查阅余弦定理)

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
//      	4.	已知三角形的三边长,求出三角形的面积。(请自行查阅余弦定理)
        Scanner sc = new Scanner(System.in);
        System.out.println("输入一条边长");
        int a = sc.nextInt();
        System.out.println("输入一条边长");
        int b = sc.nextInt();
        System.out.println("输入一条边长");
        int c = sc.nextInt();
        if(a>(b+c)||(b>(a+c)||(c>a+b))){
            System.out.println("这三条边不能构成三角形");
            return;
        }
        //海伦公式
        int p = (a+b+c)/2;
        int area=p*(p-a)*(p-b)*(p-c);
        area = (int)Math.sqrt(area);
        System.out.println("面积位"+area);
    }
}

2.问号操作符

①1. 用问号运算符完成下列功能,判断学生成绩的档次:
如果成绩为100分,输出“满分!”。
如果成绩大于等于85,小于100分,输出“该生成绩优秀!”。
如果成绩小于85,大于等于75输出“该生成绩良好!”。
如果成绩小于75,大于等于60,,输出“该生成绩及格!”。
如果成绩小于60,输出“该生成绩不及格!”。
如果成绩小于0分,输出“成绩输入错误!”。

public class Main {
    public static void main(String[] args) {
//      问号操作符
// 1.用问号运算符完成下列功能,判断学生成绩的档次:
//如果成绩为100分,输出“满分!”。
//如果成绩大于等于85,小于100分,输出“该生成绩优秀!”。
//如果成绩小于85,大于等于75输出“该生成绩良好!”。
//如果成绩小于75,大于等于60,,输出“该生成绩及格!”。
//如果成绩小于60,输出“该生成绩不及格!”。
//如果成绩小于0分,输出“成绩输入错误!”
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入成绩");
        int a = sc.nextInt();
        String s = new String();
        s=(a==100?"满分":(a>=85?"优秀":(a>=75?"良好":(a>=60?"及格":(a<0?"错误":"不及格")))));
        System.out.println(s);

    }
}

② 从控制台输入4个变量:a、b、c、d,求最大值。

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
//     2.	从控制台输入4个变量:a、b、c、d,求最大值。
        Scanner sc = new Scanner(System.in);
        System.out.println("请根据提示输入四个要比较的数字");
        System.out.println("请输入第一个数字");
        int a = sc.nextInt();
        System.out.println("请输入第二个数字");
        int b = sc.nextInt();
        System.out.println("请输入第三个数字");
        int c = sc.nextInt();
        System.out.println("请输入第四个数字");
        int d = sc.nextInt();
        int max = ((a>b?a:b)>c?(a>b?a:b):c)>d?((a>b?a:b)>c?(a>b?a:b):c):d;
        System.out.println("最大的数是"+max);

    }
}

3.运算符的优先级

①计算 a^b << 2的值。

public class Main {
    public static void main(String[] args) {
//     计算 a^b << 2的值。
        int a = 3 ;//0011
        int b = 2;
        System.out.println(a^b<<2);//(9)1001->1100:(11)
    }
}

②计算a+=a*=a/=a-6的值。

public class Main {
    public static void main(String[] args) {
//     计算a+=a*=a/=a-6的值。
        int a = 2;
        System.out.println(a+=a*=a/a-6);
        //-=、+=、*=、/=从右往左计算
        //先算a/a=1,a-6=-5,a*-5=-10,a+=-10 得出结果为-8
    }
}

4.if语句

①编写程序,从键盘上输入3个线段的长度(int整型),检查这三条线段能否构成一个三角形。然后将结果输出。“能够成一个三角形”“不能构成一个三角形”。

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
//     编写程序,从键盘上输入3个线段的长度(int整型),
//     检查这三条线段能否构成一个三角形。然后将结果输出。
//     “能够成一个三角形”“不能构成一个三角形”。
        Scanner sc = new Scanner(System.in);
        System.out.println("请按照提示输入三条线段的长度");
        System.out.println("请输入第一条线段长度");
        int a = sc.nextInt();
        System.out.println("请输入第二条线段长度");
        int b = sc.nextInt();
        System.out.println("请输入第三条线段长度");
        int c = sc.nextInt();
        if(a>(b+c)||c>(a+b)||b>(a+c)){
            System.out.println("不能构成三角形");
        }
        else{
            System.out.println("可以构成三角形");
        }
    }
}

②从键盘输入三个整数,将这三个数按从大到小的顺序打印出来。

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
//     从键盘输入三个整数,将这三个数按从大到小的顺序打印出来。。
        Scanner sc = new Scanner(System.in);
        System.out.println("请按照提示输入三个整数");
        System.out.println("请输入第一个整数");
        int a = sc.nextInt();
        System.out.println("请输入第二个整数");
        int b = sc.nextInt();
        System.out.println("请输入第三个整数");
        int c = sc.nextInt();
        if(a>b){
            if(b>c){
                System.out.println(a+">"+b+">"+c);
            }
            else if(a>c){
                System.out.println(a+">"+c+">"+b);
            }
            else{
                System.out.println(c+">"+a+">"+b);
            }
        }
        //b>a
        else{
            if(a>c){
                System.out.println(b+">"+a+">"+c);
            }
            else if(b>c){
                System.out.println(b+">"+c+">"+a);
            }
            else{
                System.out.println(c+">"+b+">"+a);
            }
        }
    }
}

③从键盘输入一个整数,判断这个数是奇数还是偶数。

public class Main {
    public static void main(String[] args) {
//     从键盘输入三个整数,将这三个数按从大到小的顺序打印出来。。
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个整数");
        int a = sc.nextInt();
        if(a%2==0){
            System.out.println("偶数");
        }
        else{System.out.println("奇数");}
    }
}

5.switch语句

①从键盘输入三个数,放入a、b、c。再从键盘输入1个数放入i(i的值为1-5)。
用switch实现:
i为1时,进行三个数求和运算,并输出结果。
i为2时,进行三个数求积运算,并输出结果。
i为3时,求(a+b)c,并输出结果。
i为4时,求(a+b)
(a-c),并输出结果。
i为5时,判断a、b、c能否构成一个三角形,并输出判断结果。

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
//     从键盘输入三个数,放入a、b、c。再从键盘输入1个数放入i(i的值为1-5)。
//用switch实现:
//i为1时,进行三个数求和运算,并输出结果。
//i为2时,进行三个数求积运算,并输出结果。
//i为3时,求(a+b)*c,并输出结果。
//i为4时,求(a+b)*(a-c),并输出结果。
//i为5时,判断a、b、c能否构成一个三角形,并输出判断结果。
        Scanner sc = new Scanner(System.in);
        System.out.println("请按照提示输入三个整数");
        System.out.println("请输入第一个整数");
        int a = sc.nextInt();
        System.out.println("请输入第二个整数");
        int b = sc.nextInt();
        System.out.println("请输入第三个整数");
        int c = sc.nextInt();
        System.out.println("请输入要做的操作序号:1求和、2求积、3(a+b)*c、4(a+b)*(a-c)、5判断能否构成三角形");
        int i = sc.nextInt();
        switch (i){
            case 1:
                System.out.println(a+b+c);
            case 2:
                System.out.println(a*b*c);
            case 3:
                System.out.println((a+b)*c);
            case 4:
                System.out.println((a+b)*(a-c));
            case 5:
                System.out.println(((a>(b+c))||(b>(a+c))||(c>(a+b)))?"不能构成三角形":"能构成三角形");
        }
    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值