1. 程式人生 > 其它 >使用字串編寫彩票程式

使用字串編寫彩票程式

技術標籤:JavaSEjavase

  1. 如果使用者輸人的數字完全匹配彩票中的數字,獎金為10000美元。
  2. 如果使用者輸人的所有數字匹配彩票中的所有數字,獎金為3000美元。
  3. 如果使用者輸人的一個數字匹配彩票中的一個數字,獎金為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"); } }

結果顯示:
在這裡插入圖片描述

程式產生兩個隨機數字,並且將它們連線成一個字串lottery。這樣,lottery包含兩個隨機數字。
程式提示使用者以兩位字串形式輸人一個猜測值,並且按照以下順序,對照彩票數字檢測使用者的猜測值:

  • 首先檢測給出的猜測值是否完全匹配彩票
  • 如果不匹配,檢測猜測值的逆序是否匹配彩票
  • 如果不匹配,檢測是否有一個數字在彩票中
  • 如果以上條件都不成立,顯示“Sorry,nomatch