第一题:类型转换
题目描述
设计一个方法,将一个小于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; } }
第二题:简单运算
题目描述
输入两个正整数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); } } }
第三题:四舍五入
题目描述
定义一个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); } }
第四题:交换变量值
题目描述
在不使用第三个变量的情况下交换两个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); } }
第五题:计算商场折扣
题目描述
牛牛商场促销活动:
满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); } }