corejava 练习题目 2

1、写一个猜数游戏,由程序生成一个100以内的整数,然后让用户猜,如果猜的数大于此数,告诉用户大了否则,如果小于该数,告诉用户小了,直到用户猜中为止。
 产生随机整数的方法如下:
  int number = (int)(Math.random()*100);
  
import java.util.Scanner;

public class CaiShu{
 public static void main(String[] args){
  int number = (int)(Math.random()*100);
  boolean flag = true;
  
  while(flag){
   System.out.print("请您猜猜随机产生的整数是:");
   Scanner scan = new Scanner(System.in);
   int num = scan.nextInt();
   if(num > number){
    System.out.println("不好意思,您猜的数字偏大了!"); 
   } else if(num < number){
    System.out.println("不好意思,您猜的数字偏小了!");
   }else{
    System.out.println("恭喜您,猜对了!"); 
    break;
   }
  } 
  
  System.out.println("随机产生的整数是:" + number);
 } 
}  
  
2、个人所得税计算器:编写程序实现个人所得税的计算,要求输入工资总额和三险一金总额,求出本月应纳个税。全月应纳税所得额=本月工资总额—三险一金—个税起征点(2000.00)

个人所得税率计算表:
级数    全月应纳税所得额   税率(%)
1       不超过500元的   5  
2       超过500元至2,000元的部分  10  
3       超过2,000元至5,000元的部分 15  
4       超过5,000元至20,000元的部分  20  
5       超过20,000元至40,000元的部分  25  
6       超过40,000元至60,000元的部分  30  
7       超过60,000元至80,000元的部分  35  
8       超过80,000元至100,000元的部分 40  
9       超过100,000元的部分   45

import java.util.Scanner;

public class JiShui {
 public static void main(String[] args){
   System.out.print("请你输入你的月工资总额:");
   Scanner scan = new Scanner(System.in);
   double salary = scan.nextDouble();
   System.out.print("请输入你的三险一金总额:");
   double d = scan.nextDouble();
   double jishui = salary - d - 2000.0;
 
     if(jishui < 0){
      System.out.println("国家可怜你,你不用交税!");
     }else if(jishui < 500){
      System.out.println("你应交" + jishui * 0.05 + " 元税钱!");
     }else if(jishui >= 500 && jishui < 2000){
      System.out.println("你应交" + jishui * 0.10 + " 元税钱!"); 
     }else if(jishui > 2000 && jishui >= 5000){
      System.out.println("你应交" + jishui * 0.15 + " 元税钱!");
     }else if(jishui > 5000 && jishui <= 20000){
      System.out.println("你应交" + jishui * 0.20 + " 元税钱!");
     }else if(jishui > 20000 && jishui <= 40000){
      System.out.println("你应交" + jishui * 0.25 + " 元税钱!");
     }else if(jishui > 40000 && jishui <= 60000){
      System.out.println("你应交" + jishui * 0.30 + " 元税钱!");
     }else if(jishui > 600000 && jishui <= 800000){
      System.out.println("你应交" + jishui * 0.35 + " 元税钱!");
     }else if(jishui > 800000 && jishui <= 1000000){
      System.out.println("你应交" + jishui * 0.40 + " 元税钱!");
     }else{
      System.out.println("你应交" + jishui * 0.45 + " 元税钱!");
     }
       
 } 
}

3、写一个类Person,包含以下属性:String name; int age; boolean  gender;Person partner。为Person类写一个marry(Person  p)方法,代表当前对象和p结婚,如若可以结婚,则输出恭贺信息,否则输出不能结婚原因。要求在另外一个类中写一个主方法,来测试以上程序。(下列情况不能结婚:1,同性;2,未达到结婚年龄,男<24,女<22;3,某一方已婚)

 

class Person{
 String name;
 int age;
 boolean gender;
 Person partner;
 
 Person(String name, int age, boolean gender, Person partner){
  this.name = name;
  this.age = age;
  this.gender = gender;
  this.partner = partner; 
 }
 
 public void marry(Person p){
  if(this.gender == p.gender){
   System.out.println("同性不可以结婚!"); 
  }else if(this.partner != null || p.partner != null){
   System.out.println("男性或女性已结婚,你们不可以结婚!");
  }else{
   if((true == this.gender && this.age < 24) || (true == p.gender && p.age < 24) ){
    System.out.println("男性小于24岁!");
    return;
   }
   if((false == this.gender && this.age < 22) || (false == p.gender && p.age < 22)){
    System.out.println("女性小于22岁!"); 
   }else{
    System.out.println("祝 " + this.name + " 与 " + p.name + " 新婚快乐!");
   }
  }
 }
 
}

public class MarryTest{
 public static void main(String[] args){
   Person tom = new Person("tom", 29, true, null);
   Person jerry = new Person("jerry", 29, false, null);
   tom.marry(jerry);
 } 
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值