四舍五入 和 交换变量值 题目
题目
- JAVA3 四舍五入
- 分析:
- 代码:
- JAVA4 交换变量值
- 分析:
- 代码:
- 大佬代码:
JAVA3 四舍五入
描述
定义一个int类型变量i,i为由浮点数变量d四舍五入后的整数类型,请将转换后的i进行输出。
输入描述:
用户随机输入的浮点数。
输出描述:
四舍五入之后的整数(小数点后一位>=5则进一,否则舍去)
示例:
输入:14.99 输出:15
分析:
1.将浮点数四舍五入,转换为整数,后输出。
代码:
直接使用round函数(四舍五入函数)。
import java.util.Scanner;
import static java.lang.Math.round;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double d= scanner.nextDouble();
int i = (int) (round(d));
System.out.println(i);
}
}
复杂化一下
import java.util.Scanner;
import static java.lang.Math.abs;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
double d= scanner.nextDouble();
int i;
double dd=d*10%10;
if(abs(dd)>=5){
if(dd>=0){
i=(int)(d+1);
}else{
i=(int)(d-1);
}
}else{
i=(int)d;
}
System.out.println(i);
}
}
JAVA4 交换变量值
描述
在不使用第三个变量的情况下交换两个int类型变量的值。
输入描述:
a变量和b变量的值。
输出描述:
交换后a变量和b变量的值,中间用空格隔开。
示例:
输入:1 2 输出:2 1
分析:
交换两个int变量,而不用到第三个变量。
代码:
使用两个int变量相加,再慢慢算出两个int变量的值分别为多少。
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=a-b;// a+b-b
System.out.println(a+" "+b);
}
}
使用两变量相乘也可以。
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=a/b;// a*b/b
System.out.println(a+" "+b);
}
}
大佬代码:
使用括号运算改变运算优先级顺序。
a = (a+b) - (b=a);
使用位运算。
a = a^b;
b = a^b;
a = a^b;