一.介绍
程序产生两个随机数字,并且将它们连接成一个字符串lottery。这样,lottery包含两个随机数字。
程序提示用户以两位字符串形式输人一个猜测值,并且按照以下顺序,对照彩票数字检测用户的猜测值:
- 首先检测给出的猜测值是否完全匹配彩票
- 如果不匹配,检测猜测值的逆序是否匹配彩票
- 如果不匹配,检测是否有一个数字在彩票中
- 如果以上条件都不成立,显示“Sorry,nomatch
- 如果用户输人的数字完全匹配彩票中的数字,奖金为10000美元。
- 如果用户输人的所有数字匹配彩票中的所有数字,奖金为3000美元。
- 如果用户输人的一个数字匹配彩票中的一个数字,奖金为1000美元。
二.代码
package com.zhuo.base;
import java.util.Scanner;
public class LotteryUsingString {
public static void main(String[] args) {
//生成一个两位数的字符串彩票
String lottery = "" + (int) (Math.random() * 10) + (int) (Math.random() * 10);
//提示用户输入猜测
Scanner input = new Scanner(System.in);
System.out.print("Enter your lottery pick (two digits): ");
String guess = input.nextLine();
//从彩票中获取数字
char lotteryDigit1 = lottery.charAt(0);
char lotteryDigit2 = lottery.charAt(1);
//从猜测中获取数字
char guessDigit1 = guess.charAt(0);
char guessDigit2 = guess.charAt(1);
System.out.println("The lottery number is " + lottery);
if(guess.equals(lottery))
System.out.println("Exact match: you win $10,000");
else if (guessDigit1 == lotteryDigit2 && guessDigit2 ==lotteryDigit1)
System.out.println("Match all digits: you win $3,000");
else if (guessDigit1 == lotteryDigit1 || guessDigit1 == lotteryDigit2 || guessDigit2 == lotteryDigit1 || guessDigit2 == lotteryDigit2)
System.out.println("Match one digit: you win $1,000");
else
System.out.println("Sorry, no match");
}
}