编辑代码

import java.util.ArrayList;
import java.util.Scanner;

class Review {
    private ArrayList<String> reviews;
    private ArrayList<Integer> ratings;
    private double averageRating;

    public Review() {
        reviews = new ArrayList<>();
        ratings = new ArrayList<>();
        averageRating = 0.0;
    }

    public void writeReview(String review) {
        reviews.add(review);
        System.out.println("Review added successfully.");
    }

    public void viewReviews() {
        if (reviews.isEmpty()) {
            System.out.println("No reviews available.");
        } else {
            System.out.println("Game Reviews:");
            for (String review : reviews) {
                System.out.println(review);
            }
        }
    }

    public void rateGame(int rating) {
        if (rating < 1 || rating > 5) {
            System.out.println("Please enter a rating between 1 and 5.");
            return;
        }
        ratings.add(rating);
        updateAverageRating();
        System.out.println("Rating added successfully.");
    }

    private void updateAverageRating() {
        int sum = 0;
        for (int rating : ratings) {
            sum += rating;
        }
        averageRating = (double) sum / ratings.size();
        System.out.println("Average Rating: " + averageRating);
    }

    public static void main(String[] args) {
        Review gameReview = new Review();
        Scanner scanner = new Scanner(System.in);
        int choice=0;

        do {
            System.out.println("\n1. Write a Review");
            System.out.println("2. View Reviews");
            System.out.println("3. Rate the Game");
            System.out.println("4. Exit");
            System.out.print("Enter your choice: ");
            
            boolean validInput = false;
            while (!validInput) {
            System.out.print("(Enter a number)");
            if (scanner.hasNextInt()) {
                choice = scanner.nextInt();
                validInput = true;
            } else {
                System.out.println("Invalid input. Please enter a valid number.");
                scanner.nextLine(); // Clear the invalid input
            }
            }

           // choice = scanner.nextInt();
           scanner.nextLine(); // Consume newline

            switch (choice) {
                case 1:
                    System.out.print("Enter your review: ");
                    String review = scanner.nextLine();
                    gameReview.writeReview(review);
                    break;
                case 2:
                    gameReview.viewReviews();
                    break;
                case 3:
                    System.out.print("Enter your rating (1-5): ");
                    int rating = scanner.nextInt();
                    gameReview.rateGame(rating);
                    break;
                case 4:
                    System.out.println("Exiting...");
                    break;
                default:
                    System.out.println("Invalid choice. Please try again.");
            }
        } while (choice != 4);

        scanner.close();
    }
}