Java基础题(1)

1.运算符

 

1.1简单运算

描述

输入两个正整数a和b,输出这两个正整数的和,差,积,商,模(若a>b则输出a-b,a/b,a%b的值反之输出b-a,b/a,b%a的值,不考虑小数,请使用int类型)

输入描述:

两个正整数

输出描述:

它们的和,差,积,商,模。每个值之间用空格隔开

示例1

输入:10  5           输出: 15 5 50 2 0;

法1:
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int a = scanner.nextInt();
        int b = scanner.nextInt();
        scanner.close();

        //write your code here......
        if (a<b){ 
            int temp=a;
            a=b;
            b=temp;
        }
        System.out.printf("%s %s %s %s %s",a+b,a-b,a*b,a/b,a%b);
        

    }
}

法2:
import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int a = scanner.nextInt();
        int b = scanner.nextInt();
        scanner.close();
        //a和b的值互换
        if(a<b) a=a+b-(b=a);
        System.out.printf("%d %d %d %d %d",a+b,a-b,a*b,a/b,a%b);
         
 
    }
}

 

1.2 四舍五入

描述

定义一个int类型变量i,i为由浮点数变量d四舍五入后的整数类型,请将转换后的i进行输出

输入描述:

用户随机输入的浮点数

输出描述:

四舍五入之后的整数(小数点后一位>=5则进一,否则舍去)

示例1

输入:14.99; 输出:15;

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double d= scanner.nextDouble();

        //write your code here......
        int i =(int) d;
        if((d-i) > 0.5){
            i=i+1;
        }
        System.out.println(i);
    }
}

 

1.3交换变量值

描述

在不使用第三个变量的情况下交换两个int类型变量的值

输入描述:

a变量和b变量的值

输出描述:

交换后a变量和b变量的值,中间用空格隔开

示例1

输入:1 2;

输出:2 1;

方法1:
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int a = scanner.nextInt();
        int b = scanner.nextInt();
       //使用括号运算改变运算优先级顺序
        a=a+b-(b=a);
        System.out.println(a+" "+b);
    }
}

方法2:import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int a = scanner.nextInt();
        int b = scanner.nextInt();
       //位运算
        a ^= b;
        b ^= a;
        a ^= b;
        System.out.println(a+" "+b);
    }

2.分支

 

2.1计算商场折扣

描述

牛牛商场促销活动:

满100全额打9折;

满500全额打8折;

满2000全额打7折;

满5000全额打6折;
且商场有抹零活动,不足一元的部分不需要付款(类型强制转换)
牛大姨算不清楚自己应该付多少钱,请你帮忙算一下

输入描述:

牛大姨账单钱数(int类型)

输出描述:

参加活动后,牛大姨应付钱数(int类型)
 
import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner console = new Scanner(System.in);
        int price = console.nextInt();
        int cost = 0;

       if(price>=5000){
            cost = (int)(price*0.6);
        }else if(price>=2000){
            cost = (int)(price*0.7);
        }else if(price>=500){
            cost = (int)(price*0.8);
        }else if(price>=100){
            cost = (int)(price*0.9);
        }else{
            cost = (int)price;
        }
 
        System.out.println(cost);
    }
}

 

2.2判断体重指数

描述

体重指数 = 体重 (kg) / ( 身高 (m) × 身高 (m) ),小于18.5属于偏瘦,介于18.5和20.9之间(左闭右开)属于苗条,介于20.9和24.9之间(左闭右闭)属于适中,超过24.9属于偏胖。下面由你来编写一段逻辑,算出输入了身高和体重的用户的体重指数,并返回他们的身材状态。(体重指数请使用double类型)

输入描述:

用户的身高(m)和用户的体重(kg)

输出描述:

体重指数代表的用户身材状态
 
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        double height = scanner.nextDouble();
        double weight = scanner.nextDouble();

        //write your code here......
         double bmi = weight / (height * height);
    if (bmi < 18.5){
        System.out.println("偏瘦");
    }else if (bmi >= 18.5 && bmi < 20.9){
        System.out.println("苗条");
    }else if (bmi >= 20.9 && bmi <= 24.9){
        System.out.println("适中");
    }else if (bmi > 24.9){
        System.out.println("偏胖");
    }
    }
}

 

2.3判断学生成绩等级

描述

现有如下成绩等级A,B,C,D。其中A代表优秀,B代表良好,C代表及格,D代表不及格。现在请你来为学生的成绩进行分级,如果用户输入错误则输出未知等级。

输入描述:

成绩等级对应的中文表述

输出描述:

优秀,良好,及格,不及格,未知等级
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String grade =scanner.next();

        //write your code here......
        if(grade.equals("A"))
            System.out.println("优秀");
        else if(grade.equals("B"))
            System.out.println("良好");
        else if(grade.equals("C"))
            System.out.println("及格");
        else if(grade.equals("D"))
            System.out.println("不及格");
        else
            System.out.println("未知等级");
    }
}

此处考查==和equals的区别,如果用==,这里会返回false,==比较的地址是否相等,或者基础类型是否相等;而grade是new出来的,装的是一个地址用于指向new出来的对象,所以它属于引用类型;对于String类,equals被重写了,比较的是内容而不再是地址是否相等。

 

2.4邮箱验证

描述

请根据给出的正则表达式来验证邮箱格式是否合法,如果用户输入的格式合法则输出「邮箱格式合法」,否则输出「邮箱格式不合法」。

输入描述:

任意字符串

输出描述:

根据输入的邮箱格式判断其合法于不合法,若输入字符串符合邮箱格式则输出邮箱格式合法,否则输出邮箱格式不合法

示例1:

 输入:123123@nowcoder.com
 输出邮箱格式合法

示例2:

输入:123123

输出:邮箱格式不合法

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);
        String str = scanner.next();
        String emailMatcher="[a-zA-Z0-9]+@[a-zA-Z0-9]+\\.[a-zA-Z0-9]+";

        //write your code here......
       //正则匹配
        System.out.println(str.matches(emailMatcher) ? "邮箱格式合法" : "邮箱格式不合法");
        scanner.close();
    }
}

 

posted @ 2022-03-14 10:51  zfj0318  阅读(99)  评论(0)    收藏  举报