Java lesson18homework

package com.xt.lesson19;

import java.util.Scanner;
import java.util.Set;
import java.util.TreeSet;

/**
 * 转轮盘游戏
使用TreeSet存储【奖品】(自定义类Prize,需要用积分属性)
(1) 设置10个奖品,并为每个奖品设定一个积分。
例如:

品 奖品
1 奖品
2 奖品
3 奖品
4 奖品
5 奖品
6 奖品
7 奖品
8 奖品
9 奖品
10

分 25分 30分 55分 60分 15分 45分 50分 20分 35分 40分

(2) 首先显示TreeSet中的奖品(遍历输出)
用户根据轮盘上剩余的奖品输入一个数字(例如轮盘上只剩下7个奖品,则选择1~7)。
用户输入后,程序自动生成一个随机数字(范围也根据遍历结果),
【猜对】如果生成的随机数与用户输入的数字相同,则将TreeSet中本次对应的奖品积分累计到用户积分、并将该奖品从TreeSet中移除(此时TreeSet的size会减1)。
【猜错】如果生成的随机数与用户输入的数字不同,则TreeSet不变,继续游戏。

(3) 用户有10次猜测机会,累计积分超过100则表示游戏胜利,否则失败。

 * @author LENOVO
 *
 */
public class MatchRole {
 static int sum=0;
 static int m=10;
 static int k=1;
 public void matchRole(){
  
  Set<Prize> ts=new TreeSet<Prize>();
  ts.add(new Prize( 1,1,25));
  ts.add(new Prize(2,2,30));
  ts.add(new Prize(3,3,55));
  ts.add(new Prize(4,4,60));
  ts.add(new Prize(5,5,15));
  ts.add(new Prize(6,6,45));
  ts.add(new Prize(7,7,50));
  ts.add(new Prize(8,8,20));
  ts.add(new Prize(9,9,35));
  ts.add(new Prize(10,10,40));
  for(Prize prize:ts){
   System.out.println(prize);
   }
  first :for(int i=0;i<10;i++){
    System.out.println("请您输入一个数字,这个数字的范围是1到"+m+" !!");
    Scanner scanner =new Scanner(System.in);
    int guNum=scanner.nextInt();
    int rdNum=m-(int)(Math.random()*(m-0));
    System.out.println("请您转盘,您转盘得到的数字是:"+rdNum);
    second :for (Prize pr:ts){
      if(guNum==rdNum){
       System.out.println("恭喜您,您答对了!!");
       sum=sum+pr.getScore();
       ts.remove(pr);
       m--;
       
        for(Prize pr1:ts){
         pr1.setNum(k++);
        }
        
       for(Prize prize:ts){
        System.out.println(prize);
        }
       System.out.println("您目前的积分是:"+sum);
       continue first;
      }
    }
     
  }
   System.out.println("您已经用完了您的十次机会!您的总积分:"+sum);
   if(sum>100){
    System.out.println("胜利!!");
   }
   else {
    System.out.println("失败!!");
   }
 }
 
 public static void main(String[] args) {
  MatchRole mr=new MatchRole();
  mr.matchRole();
 }

}

package com.xt.lesson19;
/**
 * @author LENOVO
 *
 */
public class Prize implements Comparable{
 private int num;
 private int prize;
 private int score;
 
 
 

 public Prize(int num, int prize, int score) {
  super();
  this.num = num;
  this.prize = prize;
  this.score = score;
 }


 /**
  * @return the num
  */
 public int getNum() {
  return num;
 }


 /**
  * @param num the num to set
  */
 public void setNum(int num) {
  this.num = num;
 }


 /**
  * @return the prize
  */
 public int getPrize() {
  return prize;
 }


 /**
  * @param prize the prize to set
  */
 public void setPrize(int prize) {
  this.prize = prize;
 }


 /**
  * @return the score
  */
 public int getScore() {
  return score;
 }


 /**
  * @param score the score to set
  */
 public void setScore(int score) {
  this.score = score;
 }


 /* (non-Javadoc)
  * @see java.lang.Object#toString()
  */
 @Override
 public String toString() {
  return "编号:" + num + ", 奖品 " + prize + ", 积分 " + score + "分";
 }


 /* (non-Javadoc)
  * @see java.lang.Comparable#compareTo(java.lang.Object)
  */
 @Override
 public int compareTo(Object o) {
  if(o!=null){
   if(o instanceof Prize){
    Prize ano=(Prize)o;
   if(this.getPrize()==ano.getPrize()){
    return 0;
   }
   else {return prize-ano.getPrize();}
   }
  }
  return 0;
 
 }
}

原文地址:https://www.cnblogs.com/lyxcode/p/7339442.html