Java guess birthday date

description

Guess the date of birthday. By judging whether the following groups of numbers are "system", guess the birthday.

set1= 1  3  5  7, 9 11 13 15,17 19 21 23,25 27 29 31;
set2= 2  3  6  7,10 11 14 15,18 19 22 23,26 27 30 31;
set3= 4  5  6  7,12 13 14 15,20 21 22 23,28 29 30 31;
set4= 8  9 10 11,12 13 14 15,24 25 26 27,28 29 30 31;
set5=16 17 18 19,20 21 22 23,24 25 26 27,28 29 30 31;

It is required to output the judgment in the form of a multi-dimensional array, (improve) or use a pop-up window.

Input

Y or N

0 or 1

Output

Calculated birthday

Difficulty

Harder

Input and output examples

 

 

 (The above is the first way)

 

 

 

 

 

 

 

 

 

 

 

 (The above is the second way)

 
The first way (multidimensional array)
import java.util.Scanner;

public class GuessBirthdayUsingConfirmationDialog {
    public static void main(String[] args) {
         int day=0;
         int answer;
         int[][][] dates = {
                 {{ 1,  3,  5,  7},{ 9, 11, 13, 15},{17, 19, 21, 23},{25, 27, 29, 31}},
                 {{ 2,  3,  6,  7},{10, 11, 14, 15},{18, 19, 22, 23},{26, 27, 30, 31}},
                 {{ 4,  5,  6,  7},{12, 13, 14, 15},{20, 21, 22, 23},{28, 29, 30, 31}},
                 {{ 8,  9, 10, 11},{12, 13, 14, 15},{24, 25, 26, 27},{28, 29, 30, 31}},
                 {{16, 17, 18, 19},{20, 21, 22, 23},{24, 25, 26, 27},{28, 29, 30, 31}}};
        Scanner input = new Scanner(System.in);
        for (int i = 0; i < 5; i++) {
            System.out.println("Is your birthday in Set " + (i + 1) + "?");
            for (int j = 0; j < 4; j++) {
                for (int k = 0; k < 4; k++) {
                    System.out.printf("%4d", dates[i][j][k]);
                }
                System.out.println();
            }
            System.out.print("\nEnter 0 for No and 1 for Yes: ");
            answer =input.nextInt();
            if(answer==1){
                day += dates[i][0][0];
            }
        }
        System.out.print("你的生日是 "+day+"号!");
    }
}

 

第二种方式(出现选择窗口)
import javax.swing.*;

public class GuessBirthdayUsingConfirmationDialog {
    public static void main(String[] args) {
        String set1=" 1  3  5  7\n"+" 9 11 13 15\n"+"17 19 21 23\n"+"25 27 29 31";
        String set2=" 2  3  6  7\n"+"10 11 14 15\n"+"18 19 22 23\n"+"26 27 30 31";
        String set3=" 4  5  6  7\n"+"12 13 14 15\n"+"20 21 22 23\n"+"28 29 30 31";
        String set4=" 8  9 10 11\n"+"12 13 14 15\n"+"24 25 26 27\n"+"28 29 30 31";
        String set5="16 17 18 19\n"+"20 21 22 23\n"+"24 25 26 27\n"+"28 29 30 31";

        int day=0;

        int answer= JOptionPane.showConfirmDialog(null,
                "Is your birthday in these numbers?\n"+set1);
        if (answer==JOptionPane.YES_OPTION)day+=1;

        answer= JOptionPane.showConfirmDialog(null,
                "Is your birthday in these numbers?\n"+set2);
        if (answer==JOptionPane.YES_OPTION)day+=2;

        answer= JOptionPane.showConfirmDialog(null,
                "Is your birthday in these numbers?\n"+set3);
        if (answer==JOptionPane.YES_OPTION)day+=4;

        answer= JOptionPane.showConfirmDialog(null,
                "Is your birthday in these numbers?\n"+set4);
        if (answer==JOptionPane.YES_OPTION)day+=8;

        answer= JOptionPane.showConfirmDialog(null,
                "Is your birthday in these numbers?\n"+set5);
        if (answer==JOptionPane.YES_OPTION)day+=16;

        JOptionPane.showMessageDialog(null,"你的生日是 "+day+"号!");
    }
}

 

Guess you like

Origin www.cnblogs.com/Blogwjl/p/12748918.html