趣味测试(性格测试/心理测试)

 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有一个结束的语句,后面不要再有语句
                //考号判断合理的结束
            }
            //底部必须有两个大括号,程序调整都在两个大括号前
        }
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值