1.编写一个应用程序,使用if else语句判断某年份为闰年
通用规则:
能被4整除并且不能被100整除 或者能被400整除的年份--->闰年
int year = 2000;
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
System.out.println(year + "它是一个闰年");
} else {
System.out.println(year + "它是一个平年");
}
2.编写一个应用程序,使用switch case计算某天是该年中的第几天
把该天之前的月份天数累加起来+今天的日子就是某天是该年中的第几天
Scanner scanner = new Scanner(System.in);
System.out.println("请输入年份:");
int year = scanner.nextInt();
System.out.println("请输入月份:");
int month = scanner.nextInt();
System.out.println("请输入日期:");
int day = scanner.nextInt();
int sum = 0;
switch (month) {
case 12: sum +=30;
case 11: sum +=31;
case 10: sum +=30;
case 9: sum +=31;
case 8: sum +=31;
case 7: sum +=30;
case 6: sum +=31;
case 5: sum +=30;
case 4: sum +=31;
case 3: sum +=28;
case 2: sum +=31;
case 1: sum +=day;
default:
break;
}
System.out.println(year+"年"+month+"月"+day+"日");
System.out.println("是"+year+"年的第"+sum+"天!");
3.编写一个应用程序,1 1 2 3 5 8 13...对以上一组数字找规律,找出1000以内都有哪些数字
int i = 1;
int j = 1;
while (i<1000){
System.out.println(i+" ");
i+=j;
j=i-j;
}
4.编写一个应用程序,打印出1000以内的所有的水仙花数,
水仙花数是指一个三位数,其各位数字立方和等于这个数本身,如153=1*1*1+5*5*5+3*3*3
int z = 100;
int sum3 = 0;
do{
if (z == 1000) {
break;
}
int bai = z / 100;
int shi = z / 10 % 10;
int ge = z % 10;
if (bai*bai*bai+shi*shi*shi+ge*ge*ge == z) {
System.out.println(z+"它是一个水仙花数");
}
z++;
}while(true);
5.编写一个应用程序,找出1000以内所有的完美数,
完美数是指每个因子之和等于该数本身,如6= 1+2+3
for (int i = 1; i < 1000; i++) {
int sum = 0;
for (int j = 1; j < i; j++) {
if (i%j==0){
sum=sum+j;
}
}
if (sum==i){
System.out.println("1000以内的完美数"+i);
}
}
6. 计算一个人的个人所得税
规则如下:
5000元以下是免征个税的
超过5000元的需要缴纳个税的
应纳个人所得税税额需要先扣除五险一金的(五险一金扣除比例为工资收入的22.2%)
个税缴纳比例区间如下:
区间 税率 速算扣除数
缴纳基数<=1500 3% 0
缴纳基数<=4500 10% 105
缴纳基础<=9000 20% 555
缴纳基数<=35000 25% 1005
缴纳基数<=55000 30% 2755
缴纳基数<=80000 35% 5505
缴纳基数>8000 45% 13505
应纳个人所得税税额 = 应纳税所得额 * 适用税率 - 速算扣除数
Scanner sc = new Scanner(System.in);
double salary = sc.nextDouble();
double money =salary - salary*0.222;
double tax = money-5000;
if (tax>0&tax<1500){
System.out.println("不需要缴纳个税");
}else if (tax<=1500){
System.out.println("应缴个税"+(tax*0.03));
}else if (tax<=4500){
System.out.println("应缴个税"+(tax*0.1-105));
}else if (tax<=9000){
System.out.println("应缴个税"+(tax*0.2-555));
}else if (tax<=35000){
System.out.println("应缴个税"+(tax*0.25-1005));
}else if (tax<=55000){
System.out.println("应缴个税"+(tax*0.30-2755));
}else if (tax<=80000){
System.out.println("应缴个税"+(tax*0.35-5505));
}else{
System.out.println("应缴个税"+(tax*0.45-13505));
}
7. 编写一个应用程序,实现一个猜数字游戏
游戏规则如下:
游戏开始,玩家有五次机会猜程序当中随机的数字,如果猜小了,程序提示猜小了
如果猜大了,程序提示猜大了,如果猜中了,程序提示"你太棒了";
如果程序到第四次的时候还没有采用,程序需要提示:"留给你的机会不多了,请谨慎";
如果五次猜完,玩家依然没有猜中,本次数字猜谜结束,下一轮数字猜谜开始
游戏直到玩家猜中程序当中随机的数字才会结束。
备注:每一轮游戏随机的数字都是新的数字
Random random = new Random();
Scanner scanner = new Scanner(System.in);
boolean flag = false;
int index = 1;
while(true) {
System.out.println("第"+index+"轮猜谜游戏开始:");
int ranNum = random.nextInt(100)+1;
System.out.println("随机数字已生成,请开始猜谜:");
int count = 1;
while(true){
System.out.println("请输入一个整数:");
int inputNum = scanner.nextInt();
if (inputNum == ranNum) {
System.out.println("你太棒了");
flag = true;
//break;
} else if (inputNum > ranNum) {
System.out.println("猜大了");
} else {
System.out.println("猜小了");
}
if (count == 4) {
System.out.println("留给你的机会不多了,请谨慎");
}
if (count == 5) {
System.out.println("第" + index + "轮猜谜游戏结束!下一轮游戏准备开始:");
System.out.println("随机的数字是:" + ranNum);
break;
}
count++;
}
if (flag) {
break;
}
index++;
}
8. 编写一个应用程序,实现100元找零钱的功能,零钱有1元、2元、5元、10元、50元
问一张100元有几种兑换零钱的方式?
int count=0;
int money = 100;
for (int i = 0; i <= money; i+=50) {
for (int j = 0; j <= money; j+=10) {
for (int k = 0; k <= money; k+=5) {
for (int l = 0; l <= money; l+=2) {
for (int m = 0; m <= money; m+=1) {
if (money-(i + j + k + l + m)==0){
System.out.println(money+"元="+ (i/50)+"个50元"+(j/10)+"个10元"+(k/5)+"个5元"+(l/2)+"个2元"+(m/1)+"个1元"+"\n");
count++;
}
}
}
}
}
}
System.out.println("100元一共有"+count+"种方法");
9. 编写一个应用程序,求出一只猴子它总共摘了多少个桃子
规则如下:
有一只猴子,摘了很多桃子,他每天吃掉一些,
剩下的桃子比之前的全部的一半少一个。他吃了十天才吃完。
请问他一共摘了多少个桃子?
int num = 0;
for (int i = 1; i <= 10; i++) {
num = (num+1)*2;
}
System.out.println(num);
10. 编写一个应用程序,实现求 s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字
例如:2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制
Scanner scanner = new Scanner(System.in);
System.out.print("请输入a的值:");
int a = scanner.nextInt();
System.out.print(a + "\n");
System.out.print("请输入要相加的次数:");
int count = scanner.nextInt();
System.out.print(count + "\n");
// 存储相加的结果
int s = 0;
int temp = a;
for (int i = 0; i < count; i++) {
if(i > 0){
a = 10 * a + temp;
}
s = s + a;
}·
System.out.println("s的值为:" + s);
以上就是本次的练习题了,下次再见。