题目来源:百度文库2023年高考真题
目前bug:可以输入除A、B、C、D之外答案,没有题库等
import java.util.Scanner;
public class text {
public static void main(String[] args) {
//根据流程分析,先定义变量
//第一个变量:输出设备
Scanner scanner=new Scanner(System.in);
//第二个变量:姓名,考号,不清楚的变量内容只写类型+变量名,防止输出报错,赋初始值,这里的初始值为空""
String name="";
String no="";
//第三个变量: 成绩,对于成绩,如果用户一个没有答对,就是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")) {
//4、 系统出题(暂时题是固定的),限定选择题
System.out.println("1.在复平面内,(1+3i)(3-i)对应的点位于()");
System.out.println("A.第一象限 B.第二象限 C.第三象限 D.第四象限");
//5、 用户输入答案,判断答案,对加10分,错不加分
String ans1 = scanner.next();
//考虑对英文字母的问题,一定考虑用户输入的大小写问题.toLowerCase()引入的目的确防止用户输入字母的大小写
//转大写 toUpperCase
//因为答案错误就不加分,所以if没有else
if (ans1.toUpperCase().equals("A")) {
//选择正确加分,把sum变量加上10分,再给sum变量
sum = sum + 10;
}
//6、 限定每个科目中十个题,
//再定义第二题
System.out.println("2.设集合A={0,-a},B={1,a-2.2a-2},若A≤B,则a=()");
System.out.println("A.2 B.1 C.2/3 D.-1");
//防止最后做修改,加检查功能,你的答案变量还存在
String ans2 = scanner.next();
//继续判断
if (ans2.toUpperCase().equals("B")) {
//选择正确加分,把sum变量加上10分,再给sum变量
sum = sum + 10;
}
//再定义第三题
System.out.println("3.在冠平面内(1+3i)(3-i)对应的点位于()");
System.out.println("A.第一象限 B.第二象限 C.第三象限 D.第四象限");
//防止最后做修改,加检查功能,你的答案变量还存在
String ans3 = scanner.next();
//继续判断
if (ans3.toUpperCase().equals("A")) {
//选择正确加分,把sum变量加上10分,再给sum变量
sum = sum + 10;
}
//再定义第四题
System.out.println("4.某校文艺部有4名学生,其中高一高二年级行2名,从这4名学牛中随机选2名组织校文艺汇演,则这2名学生来自不同年级的概率为()");
System.out.println("A.1/6 B.1/3 C.!/2 D.2/3");
//防止最后做修改,加检查功能,你的答案变量还存在
String ans4 = scanner.next();
//继续判断
if (ans4.toUpperCase().equals("D")) {
//选择正确加分,把sum变量加上10分,再给sum变量
sum = sum + 10;
}
//再定义第五题
System.out.println("5.函数y=f(x)的图象由=cos(2x+Π/6)的图象向左平移Π/6个单位长度得到,则y=f(x)的图象与直线y=x/2 - 1/2的交点个数为()");
System.out.println("A.1 B.2 C.3 D.4");
//防止最后做修改,加检查功能,你的答案变量还存在
String ans5= scanner.next();
//继续判断
if (ans5.toUpperCase().equals("C")) {
//选择正确加分,把sum变量加上10分,再给sum变量
sum = sum + 10;
}
//再定义第六题
System.out.println("6.已知定义在R上的函数y=f(x),当x>0时,f(x)>0,f'(x)为其导函数,且满足f'(x)<f(x)恒成立,若0<a<1,则3f(0),f(a),af(1)三者的大小关系为");
System.out.println("A.af(1)>f(a)>3f(0) B.3f(0)>f(a)>af(1) C.3f(0)>af(1)>f(a) D.f(a)>3f(0)>af(1)");
//防止最后做修改,加检查功能,你的答案变量还存在
String ans6= scanner.next();
//继续判断
if (ans6.toUpperCase().equals("D")) {
//选择正确加分,把sum变量加上10分,再给sum变量
sum = sum + 10;
}
//再定义第七题
System.out.println("7.已知sin(α-β)=1/3,cosαsinβ=1/6,则cos(2α+2β)=()");
System.out.println("A.7/9 B.1/9 C.-1/9 D.-7/9");
//防止最后做修改,加检查功能,你的答案变量还存在
String ans7= scanner.next();
//继续判断
if (ans7.toUpperCase().equals("B")) {
//选择正确加分,把sum变量加上10分,再给sum变量
sum = sum + 10;
}
//再定义第八题
System.out.println("8.已知集合M={x|x+2≥0},N={x|x-1<0}.则M∩N=()");
System.out.println("A.{x|-2≤x<1} B.{x|l-2<x≤1} C.{x|x≥-2} D.{f|x<1}");
//防止最后做修改,加检查功能,你的答案变量还存在
String ans8= scanner.next();
//继续判断
if (ans8.toUpperCase().equals("A")) {
//选择正确加分,把sum变量加上10分,再给sum变量
sum = sum + 10;
}
//再定义第九题
System.out.println("9.若xy≠0,则\"x+y=0\"是\"x/y + y/x =-2\"的()");
System.out.println("A.充分而不必要条件 B.必要而不充分条件 C.充分必要条件 D.及不充分也不必要条件");
//防止最后做修改,加检查功能,你的答案变量还存在
String ans9= scanner.next();
//继续判断
if (ans9.toUpperCase().equals("C")) {
//选择正确加分,把sum变量加上10分,再给sum变量
sum = sum + 10;
}
//再定义第10题
System.out.println("10.在平面上,若曲线T具有如下性质:存在点M使得对于任意点P∈T,都有Q∈T使得|PM|·|OM|=1.则称这条曲线为“自相关曲线”.\n" +
"判断下列两个命题的真假().\n" +
"(1)所有椭圆都是“自相关曲线”\n" +
"(2)存在是“自相关曲线”的双曲线");
System.out.println("A.(1)假命题;(2)真命题 B.(1)真命题;(2)假命题 C.(1)真命题;(2)真命题 D.(1)假命题;(2)假命题");
//防止最后做修改,加检查功能,你的答案变量还存在
String ans10= scanner.next();
//继续判断
if (ans10.toUpperCase().equals("B")) {
//选择正确加分,把sum变量加上10分,再给sum变量
sum = sum + 10;
}
//7、最后输出成绩
System.out.println("学号:" + no + ",姓名:" + name + ",成绩为:" + sum);
} else if (select_no.equals("2")) {
//4、 系统出题(暂时题是固定的)
//5、 用户输入答案,判断答案,对加10分,错不加分
//6、 限定每个科目中两个题, 最后输出用户的考试成绩
//题不同,逻辑相同
//4、 系统出题(暂时题是固定的),限定选择题
System.out.println("Unfortunately,when I dropped in,Doctor Li ___ for Beijing to join in the fight again SARS,so we only had time for a few words.");
System.out.println("A.just left B.has just left C.is just leaving D.was just leaving");
//5、 用户输入答案,判断答案,对加10分,错不加分
String ans1 = scanner.next();
//考虑对英文字母的问题,一定考虑用户输入的大小写问题.toLowerCase()引入的目的确防止用户输入字母的大小写
//因为答案错误就不加分,所以if没有else
if (ans1.toUpperCase().equals("D")) {
//选择正确加分,把sum变量加上10分,再给sum变量
sum = sum + 10;
}
//6、 限定每个科目中十个题, 最后输出用户的考试成绩
//再定义第二题
System.out.println("____ is know to us all is that China has launched Shenzhou V spaceship successfully.");
System.out.println("A.That B.What C.It D.As");
//防止最后做修改,加检查功能,你的答案变量还存在
String ans2 = scanner.next();
//继续判断
if (ans2.toUpperCase().equals("B")) {
//选择正确加分,把sum变量加上10分,再给sum变量
sum = sum + 10;
}
//再定义第三题
System.out.println("---You've made great progerss in your studies of English,haven't ___ you?\n" +
"-----Yes,but much.");
System.out.println("A.remains to do B.is remained to do C.remains to be done D.is remained to be done");
//防止最后做修改,加检查功能,你的答案变量还存在
String ans3 = scanner.next();
//继续判断
if (ans3.toUpperCase().equals("C")) {
//选择正确加分,把sum变量加上10分,再给sum变量
sum = sum + 10;
}
//再定义第四题
System.out.println("____that the South African writer John Coetzee won the Nobel Prize in Literature for 2022.");
System.out.println("A.They'er reported B.He's reported C.We‘erreported D.It's reported");
//防止最后做修改,加检查功能,你的答案变量还存在
String ans4 = scanner.next();
//继续判断
if (ans4.toUpperCase().equals("D")) {
//选择正确加分,把sum变量加上10分,再给sum变量
sum = sum + 10;
}
//再定义第五题
System.out.println("____the Atantic Ocean crosses theequator thetrade winds cause a flow ofwaterto the west.");
System.out.println("A.That B.When C.Where D.Though");
//防止最后做修改,加检查功能,你的答案变量还存在
String ans5= scanner.next();
//继续判断
if (ans5.toUpperCase().equals("C")) {
//选择正确加分,把sum变量加上10分,再给sum变量
sum = sum + 10;
}
//再定义第六题
System.out.println("----You can't finish thc book in less than an hour,l suppose?\n" +
"----_____.");
System.out.println("A.Yes,Im sureIcan B.No, hardly C.Sorry,Icant D.Idont think I can");
//防止最后做修改,加检查功能,你的答案变量还存在
String ans6= scanner.next();
//继续判断
if (ans6.toUpperCase().equals("A")) {
//选择正确加分,把sum变量加上10分,再给sum变量
sum = sum + 10;
}
//再定义第七题
System.out.println("Is impossible for allthe people to get jobs because of them are ____ not fit for them.");
System.out.println("A none B.all C.notall D.every one");
//防止最后做修改,加检查功能,你的答案变量还存在
String ans7= scanner.next();
//继续判断
if (ans7.toUpperCase().equals("B")) {
//选择正确加分,把sum变量加上10分,再给sum变量
sum = sum + 10;
}
//再定义第八题
System.out.println("----When willyouleave for Paris fora visit?\n" +
"---- ____ next month.");
System.out.println("A.Until B.After C.At D.In");
//防止最后做修改,加检查功能,你的答案变量还存在
String ans8= scanner.next();
//继续判断
if (ans8.toUpperCase().equals("B")) {
//选择正确加分,把sum变量加上10分,再给sum变量
sum = sum + 10;
}
//再定义第九题
System.out.println("The two old sisters,____ so long, held each other and burst into tears.");
System.out.println("A. being separated B. having been separated C. having separated D. hadbeen separated");
//防止最后做修改,加检查功能,你的答案变量还存在
String ans9= scanner.next();
//继续判断
if (ans9.toUpperCase().equals("B")) {
//选择正确加分,把sum变量加上10分,再给sum变量
sum = sum + 10;
}
//再定义第10题
System.out.println("Never ____ forget the days when ____ together with you.");
System.out.println("A. shall l;I lived B. shall l;did I live C.I shall;I lived D.I shall;did I live");
//防止最后做修改,加检查功能,你的答案变量还存在
String ans10= scanner.next();
//继续判断
if (ans10.toUpperCase().equals("A")) {
//选择正确加分,把sum变量加上10分,再给sum变量
sum = sum + 10;
}
//7、最后输出成绩
System.out.println("学号:" + no + ",姓名:" + name + ",成绩为:" + sum);
} else {
System.out.println("你选择了退出考试,没有参加任何一门课程的考试");
}
//因为if中的else有一个结束的语句,后面不要再有语句
//考号判断合理的结束
}
//底部必须有两个大括号,程序调整都在两个大括号前
}
}