【Java刷题进阶】基础入门篇

简介: 【Java刷题进阶】基础入门篇

第一题:类型转换

题目描述


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

输入描述:

  • 随机double类型变量


输出描述:

  • 转化后的int类型变量


示例


输入:12.34

输出:12

输入:1.88

输出:1

思路&题解


本题考查Java数据类型的强制类型转换,方法如下代码:

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;
    }
}

5.1..png

第二题:简单运算


题目描述


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

输入描述:

  • 两个正整数


输出描述:

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


示例


输入:10 5

输出:15 5 50 2 0

思路&题解


使用if-else判断两个整数的大小,使用printf输出,该方法承了C语言的一些特性,可以进行格式化输出。

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();
        System.out.printf("");
        if(a > b){
            System.out.printf("%d %d %d %d %d",a+b,a-b,a*b,a/b,a%b);
      }
        else{
            System.out.printf("%d %d %d %d %d",a+b,b-a,a*b,b/a,b%a);  
       }
}
}

5.2.png

第三题:四舍五入


题目描述


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

输入描述:

  • 用户随机输入的浮点数

输出描述:

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

示例


输入:14.99

输出:15

思路&题解


同样用到了强制类型转换,只要给浮点型变量加0.5,强制类型转换时就达到了四舍五入的效果。

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+0.5);
        System.out.println(i);
    }
}

5.3.png

第四题:交换变量值


题目描述


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


输入描述:

  • a变量和b变量的值

输出描述:

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


示例


输入:1 2

输出:2 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);
    }
}

5.4.png

第五题:计算商场折扣


题目描述


牛牛商场促销活动:

满100全额打9折;

满500全额打8折;

满2000全额打7折;

满5000全额打6折;

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

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

输入描述:

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

输出描述:

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


示例


输入:654

输出:523

思路&题解


连续使用三目运算符来进行判断,使用下面方法在逻辑上应该从小到大判断:


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;
        cost=(int)(price<100 ? price : price<500
                  ? price*0.9 : price<2000
                  ? price*0.8 : price<5000
                  ? price*0.7 : price*0.6);
        System.out.println(cost);
    }
}

5.5.png

目录
相关文章
|
14天前
|
存储 安全 Java
从入门到精通:Java Map全攻略,一篇文章就够了!
【10月更文挑战第17天】本文详细介绍了Java编程中Map的使用,涵盖Map的基本概念、创建、访问与修改、遍历方法、常用实现类(如HashMap、TreeMap、LinkedHashMap)及其特点,以及Map在多线程环境下的并发处理和性能优化技巧,适合初学者和进阶者学习。
31 3
|
5天前
|
存储 安全 Java
🌟Java零基础-反序列化:从入门到精通
【10月更文挑战第21天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
24 5
|
2天前
|
安全 Java 调度
Java中的多线程编程入门
【10月更文挑战第29天】在Java的世界中,多线程就像是一场精心编排的交响乐。每个线程都是乐团中的一个乐手,他们各自演奏着自己的部分,却又和谐地共同完成整场演出。本文将带你走进Java多线程的世界,让你从零基础到能够编写基本的多线程程序。
12 1
|
9天前
|
Java 数据处理 开发者
Java多线程编程的艺术:从入门到精通####
【10月更文挑战第21天】 本文将深入探讨Java多线程编程的核心概念,通过生动实例和实用技巧,引导读者从基础认知迈向高效并发编程的殿堂。我们将一起揭开线程管理的神秘面纱,掌握同步机制的精髓,并学习如何在实际项目中灵活运用这些知识,以提升应用性能与响应速度。 ####
31 3
|
10天前
|
Java
Java中的多线程编程:从入门到精通
本文将带你深入了解Java中的多线程编程。我们将从基础概念开始,逐步深入探讨线程的创建、启动、同步和通信等关键知识点。通过阅读本文,你将能够掌握Java多线程编程的基本技能,为进一步学习和应用打下坚实的基础。
|
12天前
|
存储 安全 Java
从入门到精通:Java Map全攻略,一篇文章就够了!
【10月更文挑战第19天】本文介绍了Java编程中重要的数据结构——Map,通过问答形式讲解了Map的基本概念、创建、访问与修改、遍历方法、常用实现类(如HashMap、TreeMap、LinkedHashMap)及其特点,以及Map在多线程环境下的使用和性能优化技巧,适合初学者和进阶者学习。
36 4
|
1月前
|
开发框架 IDE Java
java制作游戏,如何使用libgdx,入门级别教学
本文是一篇入门级教程,介绍了如何使用libgdx游戏开发框架创建一个简单的游戏项目,包括访问libgdx官网、设置项目、下载项目生成工具,并在IDE中运行生成的项目。
41 1
java制作游戏,如何使用libgdx,入门级别教学
|
11天前
|
Java
[Java]Socket套接字(网络编程入门)
本文介绍了基于Java Socket实现的一对一和多对多聊天模式。一对一模式通过Server和Client类实现简单的消息收发;多对多模式则通过Server类维护客户端集合,并使用多线程实现实时消息广播。文章旨在帮助读者理解Socket的基本原理和应用。
13 1
|
12天前
|
SQL IDE Java
入门Cloud Toolkit:简化你的Java应用开发与部署流程
【10月更文挑战第19天】作为一名长期从事Java开发的程序员,我一直致力于寻找能够简化日常开发工作的工具。在众多工具中,阿里巴巴推出的Cloud Toolkit引起了我的注意。这款免费的插件旨在帮助开发者更轻松地进行开发、测试及部署工作,尤其是在与云服务交互时表现尤为出色。本文将从个人的角度出发,介绍Cloud Toolkit的基本功能及其使用技巧,希望能帮助初学者快速上手这款实用工具。
13 1
|
22天前
|
安全 Java 测试技术
🌟Java零基础-反射:从入门到精通
【10月更文挑战第4天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
20 2