• Java 入门练习:1 - 5


    JAVA1 类型转换

    描述

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

    输入描述

    随机 double 类型变量

    输出描述

    转化后的 int 类型变量

    示例 1

    输入:

    12.34
    
    • 1

    输出:

    12
    
    • 1

    示例 2

    输入:

    1.88
    
    • 1

    输出:

    1
    
    • 1

    解答

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

    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;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    JAVA2 简单运算

    描述

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

    输入描述

    两个正整数

    输出描述

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

    示例 1

    输入:

    10 5
    
    • 1

    输出:

    15 5 50 2 0
    
    • 1

    解答

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

    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));
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    JAVA3 四舍五入

    描述

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

    输入描述

    用户随机输入的浮点数

    输出描述

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

    示例 1

    输入:

    14.99
    
    • 1

    输出:

    15
    
    • 1

    解答

    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);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    JAVA4 交换变量值

    描述

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

    输入描述

    a 变量和 b 变量的值

    输出描述

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

    示例 1

    输入:

    1 2
    
    • 1

    输出:

    2 1
    
    • 1

    解答

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

    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);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    JAVA5 计算商场折扣

    描述

    牛牛商场促销活动:

    满 100 全额打 9 折;

    满 500 全额打 8 折;

    满 2000 全额打 7 折;

    满 5000 全额打 6 折;

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

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

    输入描述

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

    输出描述

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

    示例 1

    输入:

    654
    
    • 1

    输出:

    523
    
    • 1

    解答

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

    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);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
  • 相关阅读:
    听GPT 讲Rust源代码--src/librustdoc
    Day31——二叉树专题
    旧 Mac、PC 别扔,变身 Chromebook 了解一下
    [html]当网站搭建、维护的时候,你会放个什么界面?
    四川天蝶电子商务有限公司抖音电商服务引领行业标杆
    【设计模式】第5节:创建型模式之“简单工厂、工厂方法和抽象工厂模式”
    [RK3568 Android11] Binder驱动结构体
    LeetCode 0146. LRU 缓存:双向链表 + 哈希
    好用的 JS 脚本
    开放式激光振镜运动控制器(四):ZMC408SCAN振镜控制光纤激光器加工
  • 原文地址:https://blog.csdn.net/github_39655029/article/details/125464907