JAVA语法基础课

1.倍数

读取两个正整数值 A 和 B。
如果其中一个是另一个的整数倍,则输出 Sao Multiplos,否则输出 Nao sao Multiplos。

输入格式
共一行,两个整数 A 和 B。
输出格式
按题目所述,输出结果。
数据范围
0<A,B<100

输入样例
6 24
输出样例
Sao Multiplos

import java.util.Scanner;
public class Main
{
    public static void main(String[] args)
    {
        Scanner sc=new Scanner(System.in);
        int a=sc.nextInt(),b=sc.nextInt();
        if(a%b==0||b%a==0){
            System.out.printf("Sao Multiplos");
        }
        else{
            System.out.printf("Nao sao Multiplos");
        }
    }
}

2.零食

某商店出售 5 种零食,零食编号为 1∼5。
5 种零食的价目表如下所示:
零食种类 价格
零食 1 R$ 4.00
零食 2 R$ 4.50
零食 3 R$ 5.00
零食 4 R$ 2.00
零食 5 R$ 1.50
现在给定某种零食的编号和数量,请你计算总价值是多少。

输入格式
输入包含两个整数 x 和 y,其中 x 为零食编号,y 为零食数量。
输出格式
输出格式为 Total: R$ X,其中 X 为总价值,保留两位小数。
数据范围
1≤x≤5,
1≤y≤100

输入样例
3 2
输出样例
Total: R$ 10.00

import java.util.Scanner;
public class Main
{
    public static void main(String[] args)
    {
        Scanner sc=new Scanner(System.in);
        int a=sc.nextInt(),b=sc.nextInt();
        double m;
        if(a==1){
            m=b*4.00;
        }
        else if(a==2){
            m=b*4.50;
        }
        else if(a==3){
            m=b*5.00;
        }
        else if(a==4){
            m=b*2.00;
        }
        else{
            m=b*1.50;
        }
        System.out.printf("Total: R$ %.2f",m);
    }
}

3.写文章

给定一个浮点数,请你判断该数字属于以下哪个区间:[0,25],(25,50],(50,75],(75,100]。
如果给定的数值小于 0 或大于 100,则程序输出 Fora de intervalo,表示超出范围。
开区间 (a,b):在实数 a 和实数 b 之间的所有实数,但不包含 a 和 b。
闭区间 [a,b]:在实数 a 和实数 b 之间的所有实数,包含 a 和 b。

输入格式
输入一个浮点数。
输出格式
判断输入数值位于哪个区间,按格式 Intervalo x 输出,其中 x 为区间范围 [0,25],(25,50],(50,75],(75,100] 中的一个。
如果数值位于所有区间之外,则输出 Fora de intervalo。

输入样例
25.01
输出样例
Intervalo (25,50]

import java.util.Scanner;
public class Main
{
    public static void main(String[] args)
    {
        Scanner sc=new Scanner(System.in);
        double a=sc.nextDouble();
        if(a>=0&&a<=25){
            System.out.printf("Intervalo [0,25]");
        }
        else if(a>25&&a<=50){
            System.out.printf("Intervalo (25,50]");
        }
        else if(a>50&&a<=75){
            System.out.printf("Intervalo (50,75]");
        }
        else if(a>75&&a<=100){
            System.out.printf("Intervalo (75,100]");
        }
        else if(a<0||a>100){
            System.out.printf("Fora de intervalo");
        }
    }
}

4.三角形

读取三个浮点数 A,B 和 C 并验证是否可以用它们形成三角形。
如果可能,则计算并输出三角形的周长:
Perimetro = XX.X
如果不可能,则计算并输出以 A 和 B 为底以 C 为高的梯形面积:
Area = XX.X

输入格式
共一行,包含三个浮点数 A,B,C。
输出格式
按题目描述格式,输出答案,答案保留一位小数。
数据范围
0<A,B,C<100.0

输入样例1
6.0 4.0 2.0
输出样例1
Area = 10.0
输入样例2
6.0 4.0 2.1
输出样例2
Perimetro = 12.1

import java.util.Scanner;
public class Main
{
    public static void main(String[] args)
    {
        Scanner sc=new Scanner(System.in);
        double a=sc.nextDouble(),b=sc.nextDouble(),c=sc.nextDouble();
        if(a+b>c&&a+c>b&&b+c>a)
        {
            System.out.printf("Perimetro = %.1f",a+b+c);
        }
        else{
            
            System.out.printf("Area = %.1f",(a+b)*c/2);
        }
    }
}

5.动物

给定你三个葡萄牙语单词,这些词将根据下表从左到右定义一个动物。
请你确定并输出这个动物的名称。

在这里插入图片描述

输入格式
根据上表,输入包含三个单词,每行一个,用以识别动物,单词由小写字母构成。
输出格式
输出识别出的动物的名称。

输入样例
vertebrado
mamifero
onivoro
输出样例
homem

import java.util.Scanner;
public class Main
{
    public static void main(String[] args)
    {
        Scanner sc=new Scanner(System.in);
        String a=sc.next(),b=sc.next(),c=sc.next();
        String s;
        if("vertebrado".equals(a))
        {
            if("ave".equals(b))
            {
                if("carnivoro".equals(c))
                {
                    s="aguia";
                }
                else{
                    s="pomba";
                }
            }
            else{
                if("onivoro".equals(c))
                {
                    s="homem";
                }
                else{
                    s="vaca";
                }
            }
        }
        else
        {
            if("inseto".equals(b))
            {
                if("hematofago".equals(c))
                {
                    s="pulga";
                }
                else{
                    s="lagarta";
                }
            }
            else{
                if("hematofago".equals(c))
                {
                    s="sanguessuga";
                }
                else{
                    s="minhoca";
                }
            }
        }
        System.out.println(s);
    }
}

6.选择练习

读取 4 个整数值 A,B,C 和 D。
如果四个整数同时满足以下条件:
B 大于 C。
D 大于 A。
C 和 D 的总和大于 A 和 B 的总和。
C 和 D 是正值。
A 是偶数。
则输出 Valores aceitos,否则,输出 Valores nao aceitos。

输入格式
输入占一行,包含四个整数 A,B,C,D。
输出格式
如果输入数值满足题目条件则输出 Valores aceitos,否则输出 Valores nao aceitos。
数据范围
−100≤A,B,C,D≤100

输入样例
5 6 7 8
输出样例
Valores nao aceitos

import java.util.Scanner;
public class Main
{
    public static void main(String[] args)
    {
        Scanner sc=new Scanner(System.in);
        int a=sc.nextInt(),b=sc.nextInt(),c=sc.nextInt(),d=sc.nextInt();
        if(b>c&&d>a&&c+d>a+b&&c>0&&d>0&&a%2==0)
        {
            System.out.printf("Valores aceitos");
        }
        else 
        {
            System.out.printf("Valores nao aceitos");
        }
    }
}

7.DDD

给定一个整数,请根据下表确定并输出其对应的城市名称:
添加链接描述
如果输入数字不在上表中,则输出 DDD nao cadastrado。

输入格式
共一行,包含一个整数。
输出格式
输出对应城市名称,如果没有对应城市名称,则输出 DDD nao cadastrado。

输入样例
11
输出样例
Sao Paulo

import java.util.Scanner;
public class Main{
    public static void main(String[] args)
    {
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        String s;
        switch(n)
        {
            case 61:
                s="Brasilia";
                break;
            case 71:
                s="Salvador";
                break;
            case 11:
                s="Sao Paulo";
                break;
            case 21:
                s="Rio de Janeiro";
                break;
            case 32:
                s="Juiz de Fora";
                break;
            case 19:
                s="Campinas";
                break;
            case 27:
                s="Vitoria";
                break;
            case 31:
                s="Belo Horizonte";
                break;
            default:
                s="DDD nao cadastrado";
        }
        System.out.println(s);
    }
}

8.点的坐标

给定两个保留一位小数的浮点数 X,Y,用来表示一个点的横纵坐标。
请你判断该点在坐标系中的位置。
在这里插入图片描述

输入格式
共一行,包含两个浮点数 X,Y,表示点的横纵坐标。
输出格式
如果点在第一象限,则输出 Q1,在第二象限,则输出 Q2,以此类推。
如果点在原点处,则输出 Origem。
否则,如果点在 x 坐标上,则输出 Eixo X,在 y 坐标上,则输出 Eixo Y。
数据范围
−10.0≤X,Y≤10.0

输入样例1
4.5 -2.2
输出样例1
Q4
输入样例2
0.0 0.0
输出样例2
Origem

import java.util.Scanner;
public class Main
{
    public static void main(String[] args)
    {
        Scanner sc=new Scanner(System.in);
        double x=sc.nextDouble(),y=sc.nextDouble();
        if(x==0&&y==0)
        {
            System.out.printf("Origem");
        }
        else if(x==0)
        {
            System.out.printf("Eixo Y");
        }
        else if(y==0)
        {
            System.out.printf("Eixo X");
        }
        else if(x>0&&y>0)
        {
            System.out.printf("Q1");
        }
        else if(x<0&&y>0)
        {
            System.out.printf("Q2");
        }
        else if(x<0&&y<0)
        {
            System.out.printf("Q3");
        }
        else if(x>0&&y<0)
        {
            System.out.printf("Q4");
        }
    }
}

9.三角形类型

读取表示三角形三条边的 3 个浮点数 A,B 和 C 并按降序排列,使 A 边是三边中最大的一边。
接下来,根据以下情况,确定它们可以组成的三角形类型:
如果 A≥B+C,则说明三条边不能构成三角形,请输出:NAO FORMA TRIANGULO
否则,说明三条边可以构成三角形,然后按如下情况输出:
如果A2=B2+C2,请输出:TRIANGULO RETANGULO
如果A2>B2+C2,请输出:TRIANGULO OBTUSANGULO
如果A2<B2+C2,请输出:TRIANGULO ACUTANGULO
如果三个边长度都相同,请输出:TRIANGULO EQUILATERO
如果只有两个边长度相同而第三个边长度不同,请输出:TRIANGULO ISOSCELES

输入格式
共一行,包含三个浮点数 A,B,C。
输出格式
输出 A,B,C 组成的三角形的类型。
注意,上述条件可能满足不止一条,这种情况下将所有类型名称,按题目介绍顺序输出,每行输出一条。
数据范围
0<A,B,C≤10.0

输入样例
7.0 5.0 7.0
输出样例
TRIANGULO ACUTANGULO
TRIANGULO ISOSCELES

import java.util.Scanner;
public class Main
{
    public static void main(String[] args)
    {
        Scanner sc=new Scanner (System.in);
        double a=sc.nextDouble(),b=sc.nextDouble(),c=sc.nextDouble();
        if(a<b)
        {
            double t=a;
            a=b;
            b=t;
        }
        if(a<c)
        {
            double t=a;
            a=c;
            c=t;
        }
        if(b<c)
        {
            double t=b;
            b=c;
            c=t;
        }
        if(a>=b+c)
            System.out.printf("NAO FORMA TRIANGULO\n");
        else{
            if(a*a==b*b+c*c)
                System.out.printf("TRIANGULO RETANGULO\n");
            if(a*a>b*b+c*c)
                System.out.printf("TRIANGULO OBTUSANGULO\n");
            if(a*a<b*b+c*c)
                System.out.printf("TRIANGULO ACUTANGULO\n");
            if(a==b&&b==c)
                System.out.printf("TRIANGULO EQUILATERO\n");
            else if(a==b||a==c||b==c)
                System.out.printf("TRIANGULO ISOSCELES\n");
            }
    }
}

10.游戏时间

读取四个整数 A,B,C,D,用来表示游戏的开始时间和结束时间。
其中 A 和 B 为开始时刻的小时和分钟数,C 和 D 为结束时刻的小时和分钟数。
请你计算游戏的持续时间。
比赛最短持续 1 分钟,最长持续 24 小时。

输入格式
共一行,包含四个整数 A,B,C,D。
输出格式
输出格式为 O JOGO DUROU X HORA(S) E Y MINUTO(S),表示游戏共持续了 X 小时 Y 分钟。数据范围
0≤A,C≤23,
0≤B,D≤59

输入样例1
7 8 9 10
输出样例1
O JOGO DUROU 2 HORA(S) E 2 MINUTO(S)
输入样例2
7 7 7 7
输出样例2
O JOGO DUROU 24 HORA(S) E 0 MINUTO(S)
输入样例3
7 10 8 9
输出样例3
O JOGO DUROU 0 HORA(S) E 59 MINUTO(S)

import java.util.Scanner;
public class Main
{
    public static void main(String[] args)
    {
        Scanner sc=new Scanner(System.in);
        int a=sc.nextInt(),b=sc.nextInt();
        int c=sc.nextInt(),d=sc.nextInt();
        int x=a*60+b;
        int y=c*60+d;
        int minutes;
        if(x<y)
            minutes=y-x;
        else
            minutes=1440-x+y;
        int m=minutes/60;
        int n=minutes%60;
        System.out.printf("O JOGO DUROU %d HORA(S) E %d MINUTO(S)",m,n);
    }
}

11.税

读取一个保留两位小数的浮点数值,表示一个公民的工资。
在公民缴纳个人所得税时,不同收入部分需要缴税的税率也是不同的。
请根据下表确定该公民需要缴纳的个人所得税是多少。
在这里插入图片描述

输入格式
共一行,包含一个浮点数。
输出格式
如果公民需要缴税,则输出所需缴纳的税额。输出格式为 R$ X,其中 X 为个税的金额,保留两位小数。
如果公民不需要缴税,则输出 Isento。
数据范围
0≤公民工资≤5000

输入样例1
3002.00
输出样例1
R$ 80.36
输入样例2
1700.00
输出样例2
Isento
输入样例3
4520.00
输出样例3
R$ 355.60
样例解释
对于样例 1,0∼2000.00 部分不用缴税,2000.01∼3000.00 部分按 8% 的税率缴税,共计 1000×8%=80,3000.01∼3002.00 部分按 18% 的税率缴税,共计 2×18%=0.36,合计 80.36。
对于样例 2,公民收入未超过 2000,所以输出 Isento。
对于样例 3,0∼2000.00 部分不用缴税,2000.01∼3000.00 部分按 8% 的税率缴税,共计 1000×8%=80,3000.01∼4500.00 部分按 18% 的税率缴税,共计 1500×18%=270,4500.01∼4520 部分按 28% 的税率缴税,共计 20×28%=5.60,合计 355.60。

import java.util.Scanner;
public class Main
{
    public static void main(String[] args)
    {
        Scanner sc=new Scanner(System.in);
        double x=sc.nextDouble();
        if(x<=2000)
        {
            System.out.printf("Isento\n");
        }
        else if(x<=3000)
        {
            System.out.printf("R$ %.2f\n",(x-2000)*0.08);
        }
        else if(x<=4500)
        {
            System.out.printf("R$ %.2f\n",(x-3000)*0.18+(3000-2000)*0.08);
        }
        else
        {
            System.out.printf("R$ %.2f\n",(x-4500)*0.28+(4500-3000)*0.18+(3000-2000)*0.08);
        }
    }
}

12.简单排序

读取三个整数并按升序对它们进行排序。

输入格式
共一行,包含三个整数。
输出格式
首先,将三个整数按升序顺序输出,每行输出一个整数。
然后,输出一个空行。
紧接着,将三个整数按原输入顺序输出,每行输出一个整数。
数据范围
−100≤输入整数≤100,
输入整数各不相同。

输入样例
7 21 -14
输出样例
-14
7
21

7
21
-14

import java.util.Scanner;
public class Main
{
    public static void main(String[] args)
    {
        Scanner sc=new Scanner(System.in);
        int a=sc.nextInt(),b=sc.nextInt(),c=sc.nextInt();
        int x=a,y=b,z=c;
        if(a>b)
        {
            int t=a;
            a=b;
            b=t;//a与b交换
        }
        if(a>c)
        {
            int t=a;
            a=c;
            c=t;
        }
        if(b>c)
        {
            int t=b;
            b=c;
            c=t;
        }
        System.out.printf("%d\n%d\n%d\n\n",a,b,c);
        System.out.printf("%d\n%d\n%d\n",x,y,z);
    }
}

13.一元二次方程公式

读取三个浮点数 a,b,c 的值,利用一元二次方程求根公式对方程 ax2+bx+c=0 进行求解。
一元二次方程求根公式为:
x = − b ± b 2 − 4 a c 2 a x=\frac{−b±\sqrt{ b^2−4ac}}{2a} x=2ab±b24ac
如果 b2−4ac<0 导致方程无解或 a=0,则输出 Impossivel calcular

输入格式
输入三个浮点数 a,b,c。
输出格式
参照输出格式,输出方程的根,输出结果保留五位小数,如果无解则输出 Impossivel calcular。
两个根可以按任意顺序输出,都算正确。
数据保证不存在只有一个解的情况。
数据范围
−1000.0≤a,b,c≤1000.0

输入样例
10.0 20.1 5.1
输出样例
R1 = -0.29788
R2 = -1.71212

import java.util.Scanner;
public class Main
{
    public static void main(String[] args)
    {
        Scanner sc=new Scanner(System.in);
        double a=sc.nextDouble (),b=sc.nextDouble(),c=sc.nextDouble();
        if(b*b-4*a*c<0||a==0)
        {
            System.out.printf("Impossivel calcular");
        }
        else
        {
            System.out.printf("R1 = %.5f\n",(-b-Math.sqrt(b*b-4*a*c))/(2*a));
            System.out.printf("R2 = %.5f\n",(-b+Math.sqrt(b*b-4*a*c))/(2*a));
        }
    }
}

14.平均数3

读取 4 个数字 N1,N2,N3,N4,这 4 个数字都是保留 1 位小数的浮点数,对应于学生获得的 4 个分数。
这 4 个分数的权重分别为 2,3,4,1,请你计算学生成绩的平均值 X 并输出 Media: X。
接下来分为以下三种情况:
如果平均值为 7.0 或更高,则输出 Aluno aprovado.。
如果平均值小于 5.0,则输出 Aluno reprovado.。
如果平均值大于等于 5.0 并且小于 7.0,则输出 Aluno em exame.,并再读取一个数字 Y,然后输出 Nota do exame: Y。接下来重新计算平均值 Z=(X+Y)/2,如果 Z 大于或等于 5.0,则输出 Aluno aprovado.,否则输出 Aluno reprovado.。最后输出 Media final: Z,表示学生的最终成绩。

输入格式
输入中包含四个浮点数,表示学生的四个成绩。
也有部分满足情况 3 的数据,多包含一个浮点数。
输出格式
输出的结果均保留 1 位小数,具体形式参照题目描述和输出样例。
数据范围
0≤输入数据≤10.0

输入样例1
2.0 4.0 7.5 8.0
6.4
输出样例1
Media: 5.4
Aluno em exame.
Nota do exame: 6.4
Aluno aprovado.
Media final: 5.9
输入样例2
2.0 6.6 4.0 9.0
输出样例2
Media: 4.9
Aluno reprovado.
输入样例3
9.0 4.0 8.5 9.0
输出样例3
Media: 7.3
Aluno aprovado.

import java.util.Scanner;
public class Main
{
    public static void main(String[] args)
    {
        Scanner sc=new Scanner(System.in);
        double a=sc.nextDouble(),b=sc.nextDouble(),c=sc.nextDouble(),d=sc.nextDouble();
        double x=(a*2+b*3+c*4+d*1)/10;
        System.out.printf("Media: %.1f\n",x);
        if(x>=7.0)
        {
            System.out.printf("Aluno aprovado.\n");
        }
        else if(x<5.0)
        {
            System.out.printf("Aluno reprovado.\n");
        }
        else if(x>=5.0&&x<7.0)
        {
            System.out.printf("Aluno em exame.\n");
            double y=sc.nextDouble();
            System.out.printf("Nota do exame: %.1f\n",y);
            double z=(x+y)/2;
            if(z>=5.0)
            {
                System.out.printf("Aluno aprovado.\n");
            }
            else
            {
                System.out.printf("Aluno reprovado.\n");
            }
            System.out.printf("Media final: %.1f",z);
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值