import java.util.Scanner; public class Text_2 { public static void main(String[] args) { //根据流程分析,先定义变量 Scanner scanner=new Scanner(System.in); //全局变量:姓名(name),考号(no),不清楚的变量内容只写类型+变量名,防止输出报错,赋初始值,这里的初始值为空"" String name=""; String no=""; //全局变量: 成绩(sum),对于成绩,如果用户一个没有答对,就是0分,需要初始值 int sum=0; //正式进入程序流程 // 输出语句是一个提示:1、 用户输入 准考证号 姓名 准考证号变量前面有,姓名变量前面有,前面没有名称随意 System.out.println("请输入准考证号"); no=scanner.next(); //在java 数值中等于==,不等使用!=,任何字符只要有一个就报错,这里用或,目前只不允许3个符号 if ( (no.indexOf("~")==-1) && (no.indexOf("!")==-1) && (no.indexOf("#")==-1)) { //程序结束,后面没有代码才结束,后面有代码是不能结束的,把思维反向,三个符号一个都没有,就进行程序 System.out.println("请输入姓名"); name = scanner.next(); // 2、 进入考试界面(1-----性格测试,2-----心理测试)这种格式是命令行菜单 System.out.println("************************************"); System.out.println(" 测 试 系 统 "); System.out.println(" 1--------------性格测试"); System.out.println(" 2--------------心理测试"); System.out.println("************************************"); // 3、 用户输入性格测试或者心理测试的代表数字,这里也接收数字的变量,这里没有全局 System.out.println("请选择想要参加测试对应的序号:"); String select_no = scanner.next(); //判断用户选择的序号内容,因为是字符串,等于使用equals,如果是数值,直接使用双等,字符串一定加双引号 if (select_no.equals("1")) { Scanner input=new Scanner(System.in); // 初始化,System.in为输入 System.out.println("你更喜欢吃哪种水果:\n"+"A.菠萝\n"+"B.橘子\n"+"C.其他"); // 第一个问题 String select=input.next(); // 对第一个问题进行回答 if(select.equals("A")){ sum=sum+10; }else if(select.equals("B")){ sum=sum+15; }else{ sum=sum+5; } // if是对第一个问题的回答进行判断,对sum进行加分 System.out.println("你平时休闲经常去的地方?\n"+"A.郊外\n"+"B.电影院\n"+"C.酒吧\n"+"D.其他"); // 第二个问题 String select2=input.next(); // 对第二个问题进行回答 if(select2.toUpperCase().equals("A")){ sum=sum+20; }else if(select2.toUpperCase().equals("B")){ sum=sum+10; }else if(select2.toUpperCase().equals("C")){ sum=sum+5; }else{ sum=sum+10; } // if是对第二个问题的回答进行判断,对sum进行加分 System.out.println("天气很热,你更喜欢选择哪种方式解暑?\n"+"A、游泳\n"+"B、喝冷饮\n"+"C、开空调"); // 第三个问题 String select3=input.next(); // 对第二个问题进行回答 if(select3.toUpperCase().equals("A")){ sum=sum+5; }else if(select3.toUpperCase().equals("B")){ sum=sum+10; }else{ sum=sum+15; } // if是对第三个问题的回答进行判断,对sum进行加分 if(sum<=30&&sum>15){ System.out.println("测试结果表明:你是一个意志力强,头脑冷静,有较强的领导欲,事业心强,不达目的不罢休的人。"); } else if(sum>=30&&sum<40){ System.out.println("测试结果表明:你是一个性格活泼,人缘好,善于交朋友,心机较深。事业心强,渴望成功的人。"); }else{ System.out.println("测试结果表明:你是一个好奇心强,喜欢冒险,善于发现有趣的事情。渴望浪漫的爱情,但对婚姻的要求比较现实。不善理财。"); } System.out.println("学号:" + no + ",姓名:" + name + ",成绩为:" + sum); } else if (select_no.equals("2")) { // 第一个问题 System.out.println("你平时闲下来时喜欢干什么?\n"+"A.看电影\n"+"B.去外面\n"+"C.什么也不做\n"); String daan=scanner.next(); // 做判断语句,通过用户选择的答案给a赋值 if (daan.toUpperCase().equals("A")){ sum=sum+20; } else if (daan.toUpperCase().equals("B")){ sum=sum+10; } else { sum=sum+5; } // 重复赋值步骤 第二个问题 System.out.println("你认为自己是一个怎样的人?\n"+"A.开朗\n"+"B.认真\n"+"C.感性\n"); String daan2=scanner.next(); if (daan2.toUpperCase().equals("A")){ sum=sum+20; } else if (daan2.toUpperCase().equals("B")){ sum=sum+10; } else { sum=sum+5; } // 第三个问题 System.out.println("你喜欢一个人呆着吗?\n"+"A.喜欢\n"+"B.都可以\n"+"C.不喜欢\n"); String daan3=scanner.next(); if (daan3.toUpperCase().equals("A")){ sum=sum+20; } else if (daan3.toUpperCase().equals("B")){ sum=sum+10; } else { sum=sum+5; } // 按照分数给出测试结果 // 分数不同,结果不同,用if语句实现 if (sum<=60&&sum>=40){ System.out.println("你是一个开朗、外向的人,喜欢和人在一起并享受生活。"); } else if (sum<40&&sum>=20){ System.out.println("你是一个内向、安静的人,喜欢独处并注重细节。"); }else { System.out.println("你是一个焦虑、紧张的人,需要学会放松和调节情绪。"); } System.out.println("学号:" + no + ",姓名:" + name + ",成绩为:" + sum); } else { System.out.println("你选择了退出考试,没有参加任何一门课程的考试"); } //因为if中的else有一个结束的语句,后面不要再有语句 //考号判断合理的结束 } //底部必须有两个大括号,程序调整都在两个大括号前 } }
趣味测试(性格测试/心理测试)
于 2023-10-27 14:40:59 首次发布