# 软件 **Repository Path**: sheng-chuhao/software ## Basic Information - **Project Name**: 软件 - **Description**: 期中考试 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-04-27 - **Last Updated**: 2024-04-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README import java.util.ArrayList; import java.util.InputMismatchException; import java.util.Scanner; public class NGuessNumber { public static Scanner scanner = new Scanner(System.in); public static ArrayList answers = new ArrayList<>(); public static ArrayList guesses = new ArrayList<>(); public static void main(String[] args) { System.out.println("欢迎来到新猜数字游戏!"); while(true){ answers = generateAnswer(); while(true){ System.out.println("请输⼊4个0-9之间不重复的整数:"); guesses.clear(); guesses = receiveGuesses(); int a = getA(); int b = getB(); System.out.println(a+"A"+b+"B"); if ( a == 4 && b == 0){ System.out.println("恭喜你!猜对啦!"); break; } } System.out.println("再玩⼉⼀次吗?(y/n)"); String again = scanner.next(); if(!again.equalsIgnoreCase("y")){ break; } } } // ⽣成答案数字⽅法 public static ArrayList generateAnswer(){ while(answers.size() < 4) { int answer = (int)(Math.random() * 10); if(!answers.contains(answer)){ answers.add(answer); } } return answers; } // 接受猜测数字⽅法 public static ArrayList receiveGuesses() { while(guesses.size() < 4) { int guess; try{ guess = scanner.nextInt(); }catch (InputMismatchException e){ System.out.println("请输⼊数字!"); scanner.next(); continue; } if(guess < 0 || guess > 9){ System.out.println("请输⼊0-9之间的整数!"); continue; } if(!guesses.contains(guess)){ guesses.add(guess); }else { System.out.println("数字已经存在!"); } } return guesses; } // 统计猜测数字中A类数字个数的⽅法 public static int getA() { int a = 0; for(int i = 0; i < 4; i++){ if(answers.get(i) == guesses.get(i)){ a = a + 1; } } return a; } // 统计猜测数字中B类数字个数的⽅法 public static int getB() { int b = 0; for(int i = 0; i < 4; i++){ if(answers.contains(guesses.get(i)) && answers.get(i) != guesses.get(i)){ b = b + 1; } } return b; } }