1.变量交换

public class Test1 {
public static void main(String[] args) {
System.out.print("输入整数a:");
//得到输入的值,保存到变量a
//Scanner是jdk类库中的类
//保存在java.util包下
int a = new Scanner(System.in).nextInt();

System.out.print("输入整数b:");
int b = new Scanner(System.in).nextInt();

//交换: 三步转圈赋值
int c = a;
a = b;
b = c;

System.out.println("a = "+a);
System.out.println("b = "+b);
}
}

 

2.自由落体

public class Test1 {
public static void main(String[] args) {
System.out.print("输入降落时间(秒):");
//得到输入的值,保存到变量t
double t =
new Scanner(System.in).nextDouble();
//套公式求出降落距离,保存到变量d
//double d = 0.5*9.8*t*t;

BigDecimal a = BigDecimal.valueOf(4.9);
BigDecimal b = BigDecimal.valueOf(t);
double d =
a.multiply(b.pow(2)).doubleValue();


System.out.println(
t+"秒降落了"+d+"米");
}
}

 3.应用计算牛郎织女

public class Test1 {
public static void main(String[] args) {
System.out.println("牛郎织女星相距16.4光年");
System.out.println("光速 299792458 米/秒");
System.out.println("喜鹊身长 0.46 米");
System.out.println("牛郎织女相会,需要多少只喜鹊");

//1光年是多少米
long ly = 299792458L*60*60*24*365;
//16.4光年是多少米
double d = 16.4*ly;
//喜鹊数量
double r = d/0.46;
//对r向上取整
//Math.ceil(r) 取整结果是double类型
// 34534534.0
// 强转成 long 类型
long n = (long) Math.ceil(r);

System.out.println(n);
}
}

5.平年闰年计算

public class Test4 {
public static void main(String[] args) {
System.out.print("输入年号:");
int y = new Scanner(System.in).nextInt();

//把年号y的值传递到runNian()方法进行运算
//再判断该方法的返回值是真是假
boolean b = runNian(y);

if(b) {
System.out.println("闰年");
} else {
System.out.println("平年");
}
}

static boolean runNian(int y) {
//y能被4整除
//if(y%4 == 0) {
// //能被4整除的情况下,再判断不能被100整除
// if(y%100 != 0) {
// //向调用位置返回结果,
// //跳回到调用位置执行
// return true;
// }
//}
////y能被400整除
//if(y%400 == 0) {
// return true;
//}

//能被4整除并且不能被100整除
//或者能被400整除
if((y%4==0 && y%100!=0) || y%400==0) {
return true;
}

//不是闰年,返回false
return false;
}
}

 6.拆分四字节

public class Test1 {
public static void main(String[] args) {
System.out.print("输入整数:");
int n = new Scanner(System.in).nextInt();

System.out.println("--拆分成四个byte值-------------");
//把n的值传递到f1()方法进行拆分
//在f1()方法中,直接打印显示拆分结果
f1(n);




}

static void f1(int n) {
/*
* 11001101 10011110 11100100 10010011
*
* n的值,右移24,16,8,0位,再强转成byte类型
*/
byte b1 = (byte) (n>>24);
byte b2 = (byte) (n>>16);
byte b3 = (byte) (n>>8);
byte b4 = (byte) (n>>0);

System.out.println(b1);
System.out.println(b2);
System.out.println(b3);
System.out.println(b4);
/*

11001101
10011110
11100100
10010011

r
11001101 10011110 01100100 00000000
*/

int r = 0;
//字节值左移24再不带符号右移0,8,16,24
//与r求位或,结果再保存到r
r = r | (b1<<24>>>0);
r = r | (b2<<24>>>8);
r = r | (b3<<24>>>16);
r = r | (b4<<24>>>24);
System.out.println(r);

/*
* 11111111 11111111 11111111 11001101
* 00000000 00000000 00000000 11111111 &
* 00000000 00000000 00000000 11001101
*
* 255 0xff 0x000000ff
*/
r = 0;
//字节值与0x000000ff求位与,
//左移24,16,8,0位,与r求位或,
//结果再保存到r
r = r | ((b1 & 0x000000ff) << 24);
r = r | ((b2 & 0x000000ff) << 16);
r = r | ((b3 & 0x000000ff) << 8);
r = r | ((b4 & 0x000000ff) << 0);
System.out.println(r);

}
}

7. 3个数求最大值

public class Test1 {
public static void main(String[] args) {
System.out.println("输入三个整数:");
int a = new Scanner(System.in).nextInt();
int b = new Scanner(System.in).nextInt();
int c = new Scanner(System.in).nextInt();

//a,b,c三个整数的值,
//传递到max()方法,求最大值
//得到方法的返回结果,保存到变量 m
int m = max(a, b, c);
System.out.println("最大值:" + m);
}


static int max(int a, int b, int c) {
//求a,b的最大值保存到变量 max
//求max,c的最大值,保存到 max
//int max = a>b ? a : b;
//max = max>c ? max : c;

int max = a>b ? (a>c?a:c) : (b>c?b:c);

return max;
}
}

8.个人所得税

public class Test1 {
public static void main(String[] args) {
System.out.print("工资:");
double s = new Scanner(System.in).nextDouble();

//把s传递到 grsds()方法,
//来计算个人所得税
//得到方法的返回值,保存到变量 tax
double tax = grsds(s);
System.out.println(
"应缴纳个人所得税:"+tax);
}

static double grsds(double s) {
//低于起征点,不交税
if(s <= 3500) {
return 0;
}
//工资刨掉3500
s -= 3500; // s = s-3500;
//定义税率变量r和速算扣除数变量k
double r = 0;
int k = 0;
//根据s的范围,来确定r和k的值
if(s<=1500) {
r = 0.03;
k = 0;
} else if(s<=4500) {
r = 0.1;
k = 105;
} else if(s<=9000) {
r = 0.2;
k = 555;
} else if(s<=35000) {
r = 0.25;
k = 1005;
} else if(s<=55000) {
r = 0.3;
k = 2755;
} else if(s<=80000) {
r = 0.35;
k = 5505;
} else {
r = 0.45;
k = 13505;
}

return s*r - k;
}
}

posted on 2018-10-16 20:08  studyAnddaydayup  阅读(152)  评论(0编辑  收藏  举报