{ "title": "Java 论坛评论系统 - 用户身份选择和功能实现", "description": "本代码演示了一个简单的 Java 论坛评论系统,用户可以选择不同的身份(教师、学生、潜水者)并执行相应的操作,如提问、回答、点赞、打分、查看评论等。", "keywords": "Java, 论坛, 评论系统, 用户身份, 教师, 学生, 潜水者, 提问, 回答, 点赞, 打分, 查看评论", "content": "package ClassDemonstration0329; import java.lang.Throwable; import java.util.ArrayList; import java.util.InputMismatchException; import java.util.Scanner; import java.util.InputMismatchException;

public class Menu { Scanner scanner = new Scanner(System.in); ArrayList arrayList = new ArrayList<>(); String choice; private String question; private Ask ask1 = new Ask(); //变量ask private Answer answer1 = new Answer(); private int i=0,j=0; public void mainMenu(){ System.out.println("请输入这个帖子的第一个问题:"); ask1.setWords(scanner.next()); arrayList.add(ask1); System.out.println("请选择你加入贴吧的身份"); do{ System.out.println("1.教师:"); System.out.println("2.学生:"); System.out.println("3.潜水者:"); System.out.println("4.退出评论");

        try {
            choice = scanner.next();
            if (choice.matches(".*[a-zA-Z]+.*")) {  //使用正则表达式检测是否输入字母
                throw new LetterInputException("Input contains letters"); //抛出错误的信息
            }
            System.out.println("Input is valid: ' + choice);
        } catch (LetterInputException e) {
            System.out.println("Error: ' + e.getMessage());
        }finally {
            System.out.println("正确数字的范围是1——4"); //提示输入的数字范围
        }


        switch(choice){
        case "1":
            TeacherMenu();
            break;
        case "2":
            StuMenu();
            break;
        case "3":
            DiverMenu();
            break;
        default:
            break;
    }
    }while(!choice.equals("4"));
}

//老师
public void TeacherMenu(){
    do{
        System.out.println("1.回答问题");
        System.out.println("2.点赞");
        System.out.println("3.打分");
        System.out.println("4.查看评论");
        System.out.println("5.返回上一级");


        try {
            choice = scanner.next();
            if (choice.matches(".*[a-zA-Z]+.*")) {  //使用正则表达式检测是否输入字母
                throw new LetterInputException("Input contains letters"); //抛出错误的信息
            }
            System.out.println("Input is valid: ' + choice);
        } catch (LetterInputException e) {
            System.out.println("Error: ' + e.getMessage());
        }finally {
            System.out.println("正确数字的范围是1——4"); //提示输入的数字范围
        }


        switch(choice){
            case "1":
                answerMenu();
                break;
            case "2":
                likeMenu();
                break;
            case "3":
                scoreMenu();
                break;
            case "4":
                viewMenu();
                break;
            default:
                break;
        }
    }while(!choice.equals("5"));
}

//学生
public void StuMenu(){
    do{
        System.out.println("1.提出问题");
        System.out.println("2.点赞");
        System.out.println("3.打分");
        System.out.println("4.查看评论");
        System.out.println("5.返回上一级");
        try {
            choice = scanner.next();
            if (choice.matches(".*[a-zA-Z]+.*")) {  //使用正则表达式检测是否输入字母
                throw new LetterInputException("Input contains letters"); //抛出错误的信息
            }
            System.out.println("Input is valid: ' + choice);
        } catch (LetterInputException e) {
            System.out.println("Error: ' + e.getMessage());
        }finally {
            System.out.println("正确数字的范围是1——4"); //提示输入的数字范围
        }

        switch(choice){
            case "1":
                askMenu();
                break;
            case "2":
                likeMenu();
                break;
            case "3":
                scoreMenu();
                break;
            case "4":
                viewMenu();
                break;
            default:
                break;
        }
    }while(!choice.equals("5"));
}

//潜水者
public void DiverMenu(){
    do{
        System.out.println("1.查看评论");
        System.out.println("2.评论");
        System.out.println("3.点赞");
        System.out.println("4.返回上一级");
        try {
            choice = scanner.next();
            if (choice.matches(".*[a-zA-Z]+.*")) {  //使用正则表达式检测是否输入字母
                throw new LetterInputException("Input contains letters"); //抛出错误的信息
            }
            System.out.println("Input is valid: ' + choice); //提示输入是无效的
        } catch (LetterInputException e) {
            System.out.println("Error: ' + e.getMessage());
        }finally {
            System.out.println("正确数字的范围是1——4"); //提示输入的数字范围
        }

        switch(choice){
            case "1":
                viewMenu();
                break;
            case "2":
                commentMenu();
                break;
            case "3":
                likeMenu();
                break;
            default:
                break;
        }
    }while(!choice.equals("4"));
}

//问问题
public void askMenu(){
    Stu stu1  = new Stu("1号学生");
    stu1.comment();
    ask1.setWords(scanner.next());
    arrayList.add(ask1);
}

//回答问题
public void answerMenu(){
   Teacher teacher1 = new Teacher("1号老师");
   teacher1.comment();
   answer1.setWords(scanner.next());
   arrayList.add(answer1);
}

//点赞
public void likeMenu(){
    viewMenu();
    System.out.println("请输入您要点赞评论:");
    String question = scanner.next();
    if(question.equals(answer1)){ //
        answer1.setLike(i++);
    }
    if(question.equals(ask1)){    //判断当前输入的是哪个对象
        ask1.setLike(j++);
    }
}


//查看评论
public void viewMenu(){
    for (Talk talk1:arrayList) {
        System.out.println(talk1);
    }
}

//打分
public void scoreMenu(){
    System.out.println("请输入您的打分:");

}

//评论
public void commentMenu(){
    
}

}

Java 论坛评论系统 - 用户身份选择和功能实现

原文地址: https://www.cveoy.top/t/topic/jLV4 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录