Java 入门练习:1 - 5

2022-06-27 09:15:32 浏览数 (1)

文章目录
  • JAVA1 类型转换
    • 描述
      • 输入描述
      • 输出描述
    • 示例 1
    • 示例 2
    • 解答
  • JAVA2 简单运算
    • 描述
      • 输入描述
      • 输出描述
    • 示例 1
    • 解答
  • JAVA3 四舍五入
    • 描述
      • 输入描述
      • 输出描述
    • 示例 1
    • 解答
  • JAVA4 交换变量值
    • 描述
      • 输入描述
      • 输出描述
    • 示例 1
    • 解答
  • JAVA5 计算商场折扣
    • 描述
      • 输入描述
      • 输出描述
    • 示例 1
    • 解答

JAVA1 类型转换

描述

设计一个方法,将一个小于2147483647的double类型变量以截断取整方式转化为int类型

输入描述

随机 double 类型变量

输出描述

转化后的 int 类型变量

示例 1

输入:

代码语言:javascript复制
12.34

输出:

代码语言:javascript复制
12

示例 2

输入:

代码语言:javascript复制
1.88

输出:

代码语言:javascript复制
1

解答

要将 double 类型转换为 int 类型,而且是以截断取整的方式,所以直接通过强制转换即可。

代码语言:javascript复制
import java.util.Scanner;

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

    public static int typeConversion(double d) {
        return (int)d;
    }
}

JAVA2 简单运算

描述

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

输入描述

两个正整数

输出描述

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

示例 1

输入:

代码语言:javascript复制
10 5

输出:

代码语言:javascript复制
15 5 50 2 0

解答

主要考察条件语句 if...else...,当 a > b 时,执行 if 中的逻辑,否则就执行 else 中的逻辑。

代码语言:javascript复制
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();

        if (a > b) {
            System.out.println((a   b)   " "   (a - b)   " "   (a * b)   " "  
                               (a / b)   " "   (a % b));
        } else {
            System.out.println((a   b)   " "   (b - a)   " "   (a * b)   " "  
                               (b / a)   " "   (b % a));
        }
    }
}

JAVA3 四舍五入

描述

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

输入描述

用户随机输入的浮点数

输出描述

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

示例 1

输入:

代码语言:javascript复制
14.99

输出:

代码语言:javascript复制
15

解答

代码语言:javascript复制
import java.util.Scanner;

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

        int i = (int)d;
        if (d - i >= 0.5) {
            i  = 1;
        }

        System.out.println(i);
    }
}

JAVA4 交换变量值

描述

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

输入描述

a 变量和 b 变量的值

输出描述

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

示例 1

输入:

代码语言:javascript复制
1 2

输出:

代码语言:javascript复制
2 1

解答

先将 ab 之和赋给 a,接着将 ab 的差赋值给 b,此时 b = a b - b = a,此时就交换了 ab 的值,然后再将 ab 的差赋值给 a,此时 a = a b - a,此时就将 b 的值赋给了 a

代码语言:javascript复制
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 - b;
        a = a - b;
        System.out.println(a   " "   b);
    }
}

JAVA5 计算商场折扣

描述

牛牛商场促销活动:

满 100 全额打 9 折;

满 500 全额打 8 折;

满 2000 全额打 7 折;

满 5000 全额打 6 折;

且商场有抹零活动,不足一元的部分不需要付款(类型强制转换)

牛大姨算不清楚自己应该付多少钱,请你帮忙算一下

输入描述

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

输出描述

参加活动后,牛大姨应付钱数(int 类型)

示例 1

输入:

代码语言:javascript复制
654

输出:

代码语言:javascript复制
523

解答

多分支条件判断,根据题意,将原价分为 5 个档次,然后通过价格所处档次乘以对应折扣,就得到打折后的价格,但是要注意,由于有抹零活动,所以需要强转一下。

代码语言:javascript复制
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);
    }
}

0 人点赞