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(){
    Diver diver1 = new Diver('1号潜水者');
    diver1.comment();
    String comment = scanner.next();
    arrayList.add(new Comment(comment));
}

}

Java 论坛评论系统 - 使用面向对象设计实现用户交互

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

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