Java 论坛评论系统 - 使用面向对象设计实现用户交互
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
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));
}
}
原文地址: https://www.cveoy.top/t/topic/jLWf 著作权归作者所有。请勿转载和采集!