Java大作业

Main

package main;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.InputStreamReader;
import java.io.LineNumberReader;
import java.math.BigDecimal;

import answer.Answer;
import guess.Guess;
import input.Input;
import login.Login;
import login.Register;
import personal.Personal;
import read.Read;
import user.User;

public class Main 
{
	public static void main(String[] args) throws Exception 
	{
		System.out.println("=======Welcome to Yuki Sam's system!======");
		printmenu();
		String choice=Input.in.nextLine();
		User u=new User();
		boolean f=false;
		while(true)
		{
			switch(choice)
			{
				case "1":
					Register.register(u);
					break;
				case "2":
					if(f)   //已有账号登录中
					{
						System.out.println("=======An account has been logged in.======");
						System.out.println("===========Please log out first.===========");
						System.out.println("||=========     0  Log out     =========||");
						System.out.println("||=========     1  Return menu =========||");
						String op=Input.in.nextLine();
						while(!op.equals("1"))
						{
							if(op.equals("0"))
							{
								f=false;
								u.flag=false;
								System.out.println("===========Log out successfully!===========\n");
								break;
							}
							else
								System.out.println("========Invaild! Please input again.=======");
							op=Input.in.nextLine();
						}
					}
					else
					{
						Login.login(u);
						if(u.flag==true)  f=true;
					}
					break;
				case "3":
					if(!f)
					{
						System.out.println("========Invaild! Please login first.=======");
						break;
					}
					System.out.println("===Please enter the number of questions.===");
					System.out.println("==You should enter numbers from 1 to 30.===");
					String tp1=Input.in.nextLine();
					int num1;
					while(!isNumeric(tp1))
					{
						System.out.println("===Invaild! Please enter a numeric type.===");
						tp1=Input.in.nextLine();
					}
					num1=Integer.parseInt(tp1);
					while(num1>30 || num1<1)
					{
						System.out.println("==The number you entered is out of range.==");
						System.out.println("============Please input again.============");
						num1=Integer.parseInt(Input.in.nextLine());
					}
					Answer.answer(num1,u);
					break;
				case "4":
					if(!f)
					{
						System.out.println("========Invaild! Please login first.=======");
						break;
					}
					Read.reading();
					break;
				case "5":
					if(!f)
					{
						System.out.println("========Invaild! Please login first.=======");
						break;
					}
					System.out.println("====Please enter the number of riddles.====");
					System.out.println("===You should enter numbers from 1 to 40===");
					String tp2=Input.in.nextLine();
					int num2;
					while(!isNumeric(tp2))
					{
						System.out.println("===Invaild! Please enter a numeric type.===");
						tp2=Input.in.nextLine();
					}
					num2=Integer.parseInt(tp2);
					while(num2>40 || num2<1)
					{
						System.out.println("==The number you entered is out of range.==");
						System.out.println("============Please input again.============");
						num2=Integer.parseInt(Input.in.nextLine());
					}
					Guess.guess(num2,u);
					break;
				case "6":
					if(!f)
					{
						System.out.println("========Invaild! Please login first.=======");
						break;
					}
					Personal.personal(u);
					break;
				case "7":
					break;
				default:
					System.out.println("========Invaild! Please input again.=======");
					break;
			}
			if(choice.equals("7"))  break;
			printmenu();
			choice = Input.in.nextLine();
		}
		
		save(u);
		System.out.println("=======Thank you for your patronage!======");
		System.out.println("▏■■■■■■■■■■■■■▏ 100%  ▏■■■■■■■■■■■■■▏");
		System.out.println("========Program terminated 100% ! ========");

	}

	public static void printmenu()
	{
		System.out.println("=======Please choose your operation!======");
		System.out.println("||============== M e n u ===============||");
		System.out.println("||=========     1  Regiser     =========||");
		System.out.println("||=========     2  Login       =========||");
		System.out.println("||=========     3  Answer      =========||");
		System.out.println("||=========     4  Read        =========||");
		System.out.println("||=========     5  Guess       =========||");
		System.out.println("||=========     6  Personal    =========||");
		System.out.println("||=========     7  Exit        =========||");
		System.out.println("||======================================||\n");
	}
	public static boolean isNumeric(String str) 
	{
        @SuppressWarnings("unused")
		String bigStr;
        try {
            bigStr = new BigDecimal(str).toString();
        } catch (Exception e) {
            return false;  //异常 说明包含非数字
        }
        return true;
    }
	public static void save(User u)throws Exception  //退出前保存信息
	{
		String acnt=u.account;
		String score=String.format("%d",Integer.parseInt(u.tot_score)+u.asr_score+u.gs_score);
		String level=User.judge(score);
		String filename=".\\\\data.txt";
		String filename1=".\\\\data1.txt";
		File fp=new File(filename);  
		File fp1=new File(filename1);
		InputStreamReader read = new InputStreamReader (new FileInputStream(fp),"UTF-8");
		try (BufferedReader reader = new BufferedReader(read)) 
		{
            try (LineNumberReader linerd = new LineNumberReader(new FileReader(filename))) 
            {
            	try (BufferedWriter writer = new BufferedWriter(new FileWriter(filename1)))
				{
					linerd.skip(Long.MAX_VALUE);
					int lines = linerd.getLineNumber();
					int num=lines/8;
					for(int i=0;i<num;i++)
					{
						u.read2(reader);
						if(acnt.equals(u.account))
						{
							u.tot_score=score;
							u.level=level;
						}
						u.write2(writer);
					}
				}
            }
		}
		read.close();
		fp.delete();
		fp1.renameTo(fp);
	}
}

User

package user;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.PrintWriter;
import java.util.Scanner;

public class User 
{
	public String account,password;
	public String nickname,gender,age,birthday,profile,tot_score,level;
	public int asr_score,gs_score;
	public boolean flag=false;
	
	
	public void read1(Scanner fin) throws Exception  //读取账号密码
	{
		this.account=fin.nextLine();
		this.password=fin.nextLine();
	}
	
	public void read2(BufferedReader reader) throws Exception  //读取个人信息
	{
		this.account=reader.readLine();
		this.nickname=reader.readLine();
		this.gender=reader.readLine();
		this.age=reader.readLine();
		this.birthday=reader.readLine();
		this.profile=reader.readLine();
		this.tot_score=reader.readLine();
		this.level=reader.readLine();
		this.level=judge(this.tot_score);
	}
	
	public void write1(PrintWriter fout) throws Exception  //写到user.txt
	{
		fout.println(this.account);
		fout.println(this.password);
	}
	
	public void write2(BufferedWriter fout) throws Exception  //写到data.txt
	{
		fout.write(this.account+"\n");
		fout.write(this.nickname+"\n");
		fout.write(this.gender+"\n");
		fout.write(this.age+"\n");
		fout.write(this.birthday+"\n");
		fout.write(this.profile+"\n");
		fout.write(this.tot_score+"\n");
		fout.write(this.level+"\n");
	}
	
	public static String judge(String score)  //判断段位
	{
		int sum=Integer.parseInt(score);
		String level;
		if(sum>=0 && sum<=10)  level="Iron";
		else if(sum>=11 && sum<=30)  level="Bronze";
		else if(sum>=31 && sum<=60)  level="Silver";
		else if(sum>=61 && sum<=100)  level="Gold";
		else  level="Diamond";
		return level;
	}
	
}

Login

package login;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;

import user.User;
import input.Input;

public class Login 
{
	
//  ....................   登录模块   ....................   

	public static void login(User u) throws Exception
	{
		if(u.flag)  return;
		System.out.println("========Please input your message.========");
		System.out.println("Account:");
		String acnt=Input.in.nextLine();
		System.out.println("Password:");
		String pswd=Input.in.nextLine();
		u.account=acnt;
		String ans=Search.search1(acnt,u);  //查询账号是否存在
		if(ans.equals("no"))  //账号不存在
		{
			p_exist();
			String op=Input.in.nextLine();
			while(!op.equals("2"))
			{
				if(op.equals("0"))
				{
					Register.register(u);
					break;
				}
				else if(op.equals("1"))
				{
					login(u);
					break;
				}
				else
					System.out.println("========Invaild! Please input again.=======");
				op=Input.in.nextLine();
			}
			return;
		}
		else  //账号存在 确认密码
		{
			while(!pswd.equals(ans))  //密码错误
			{
				System.out.println("=======Wrong password! Login failed!======");
				System.out.println("============Please input again.===========");
				pswd=Input.in.nextLine();
			}
			System.out.println("===========Login successfully!============\n");
			u.flag=true;   //标记当前系统登录状态
			
			//个人信息赋值
			String filename=".\\\\data.txt";
			File file=new File(filename);
			try(BufferedWriter fout=new BufferedWriter(new FileWriter(file,true));)
			{
				Search srch=new Search();
				User tp=srch.search2(u.account,u);
				u.nickname=tp.nickname;
				u.gender=tp.gender;
				u.age=tp.age;
				u.birthday=tp.birthday;
				u.profile=tp.profile;
				u.tot_score=tp.tot_score;
				u.level=tp.level;
				if(srch.u_init) u.write2(fout);
			}
			return;
		}
	}
	
	public static void p_exist()
	{
		System.out.println("===Account does not exist! Login failed!==");
		System.out.println("==========Please register first.==========");
		System.out.println("||=========     0  Regiser     =========||");
		System.out.println("||=========     1  Input again =========||");
		System.out.println("||=========     2  Return menu =========||");
	}
}

Register

package login;

import java.io.FileWriter;
import java.io.PrintWriter;
import user.User;
import input.Input;

public class Register 
{
	
//  ....................  注册模块  ....................  
	
	public static void register(User u) throws Exception
	{
		System.out.println("========Please input your message.========");
		System.out.println("========        Attention!        ========");
		System.out.println("======== The account and password ========");
		System.out.println("========     can contain only     ========");
		System.out.println("========      letters,digits,     ========");
		System.out.println("========  and special characters. ========");
		System.out.println("New account:");
		String acnt=Input.in.nextLine();
		System.out.println("New password:");
		String pswd1=Input.in.nextLine();
		System.out.println("Confirm password:");
		String pswd2=Input.in.nextLine();
		String ans=Search.search1(acnt,u);
		if(!ans.equals("no"))  //账号已存在
		{
			p_exist();
			String op=Input.in.nextLine();
			while(!op.equals("1"))
			{
				if(op.equals("0"))
				{
					register(u);
					break;
				}
				else
					System.out.println("========Invaild! Please input again.=======");
				op=Input.in.nextLine();
			}
			return;
		}
		else if(pswd1.length()<6)  //密码长度过短
		{
			p_short();
			String op=Input.in.nextLine();
			while(!op.equals("1"))
			{
				if(op.equals("0"))
				{
					register(u);
					break;
				}
				else
					System.out.println("========Invaild! Please input again.=======");
				op=Input.in.nextLine();
			}
			return;
		}
		else  //注册新账号
		{
			if(!pswd1.equals(pswd2))  //密码不一致
			{
				p_diff();
				String op=Input.in.nextLine();
				while(!op.equals("1"))
				{
					if(op.equals("0"))
					{
						register(u);
						break;
					}
					else
						System.out.println("========Invaild! Please input again.=======");
					op=Input.in.nextLine();
				}
				return;
			}
			else  //user.txt中登记账号密码
			{
				String filename=".\\\\user.txt";
				try(PrintWriter fout=new PrintWriter(new FileWriter(filename,true));)
				{   
					u.account=acnt;
					u.password=pswd1;
					u.write1(fout);   
				}
				System.out.println("=========Register successfully!===========\n");
				return;
			}
		}
	}
	
	public static void p_exist()
	{
		System.out.println("=======The account already exists. =======");
		System.out.println("=========Please register again.===========");
		System.out.println("||=======     0  Register again  =======||");
		System.out.println("||=======     1  Return menu     =======||");
	}
	
	public static void p_short()
	{
		System.out.println("=======Password length is too short.======");
		System.out.println("=========Please register again.===========");
		System.out.println("||=======     0  Register again  =======||");
		System.out.println("||=======     1  Return menu     =======||");
	}
	
	public static void p_diff()
	{
		System.out.println("=========Inconsistent passwords! =========");
		System.out.println("=========Please register again.===========");
		System.out.println("||=======     0  Register again  =======||");
		System.out.println("||=======     1  Return menu     =======||");
	}
}

Search

package login;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.InputStreamReader;
import java.io.LineNumberReader;
import java.util.Scanner;
import user.User;

public class Search 
{
	boolean u_init=false;
	
//  ....................   查找账号   ....................   

	public static String search1(String s,User u) throws Exception
	{
		String filename=".\\\\user.txt";
		Scanner fin=new Scanner(new File(filename));
		while(fin.hasNext())
		{
			u.read1(fin);  //顺序读取
			if(s.equals(u.account))  //账号存在
				return u.password;
		}
		return "no";
	}
	
// 	....................  查找个人信息  ....................   
	
	public User search2(String s,User u) throws Exception
	{
		String filename=".\\\\data.txt";
		File fp=new File(filename); 
		InputStreamReader read = new InputStreamReader (new FileInputStream(fp),"UTF-8");
		try (BufferedReader reader = new BufferedReader(read)) 
		{
            try (LineNumberReader linerd = new LineNumberReader(new FileReader(fp)) )
            {
				linerd.skip(Long.MAX_VALUE);
				int lines = linerd.getLineNumber();
				int num=lines/8;
				for(int i=0;i<num;i++)
				{
					u.read2(reader);
					if(s.equals(u.account))  return u;
				}
				init(u);
				this.u_init=true;
				return u;
            }
		}
	}
	
	public static void init(User u)
	{
		u.nickname="NULL";
		u.gender="NULL";
		u.age="NULL";
		u.birthday="NULL";
		u.profile="NULL";
		u.tot_score="0";
		u.level="NULL";
	}
	
}

Answer

package answer;

import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.util.Arrays;
import user.User;
import input.Input;

public class Answer 
{
	public static void answer(int num,User u) throws IOException
	{
		Question_fin.q_fin();
		int temp_score=0;
		File file=new File(".\\\\question.txt");
		RandomAccessFile rf=new RandomAccessFile(file, "r");
		int[] vis=new int[40];
		Arrays.fill(vis,0);
		headmenu();
		int cnt=0;
		while(cnt<num)
		{
			String que,ch1,ch2,ch3,ans;
			int id=(int)((Math.random()+0)*30);  //随机选题
			if(vis[id]==0)  //题目还没出过
			{
				cnt++;
				System.out.println("No."+cnt+":");
				rf.seek(0);
				for(int i=0;i<30;i++)
				{
					que=rf.readUTF();
					ch1=rf.readUTF();
					ch2=rf.readUTF();
					ch3=rf.readUTF();
					ans=rf.readUTF();
					if(i==id)  //找到题目
					{
						System.out.print(que);
						System.out.print(ch1);
						System.out.print(ch2);
						System.out.print(ch3);
						String u_ans=Input.in.nextLine();
						if(ans.equals(u_ans))
						{
							System.out.println("Correct answer ✔ \n");
							u.asr_score+=1;
							temp_score+=1;
						}
						else
							System.out.println("Wrong answer ✖ \n");
						break;
					}
					vis[id]=1;
				}
			}
		}
		rf.close();
		endmenu(temp_score);
	}
	public static void headmenu()
	{
		System.out.println("=======================Welcome to the \"Answer\" game! =======================");
		System.out.println("||=========    You need to answer the following ten questions    =========||");
		System.out.println("||=========               Please enter your answer               =========||");
		System.out.println("||=========      For multiple choice questions, enter \"A~C\"      =========||");
	}
	public static void endmenu(int temp_score)
	{
		System.out.println("||=========              Your \"Answer\" score is "+temp_score+".              =========||");
		System.out.println("||=========              ✿ Make persistent efforts~ ✿           =========||");
		System.out.println("||=========              ✿      ✧*。٩(ˊᗜˋ*)و✧*       ✿           =========||\n");
	}
}

Question_fin

package answer;

import java.io.File;
import java.io.IOException;
import java.io.RandomAccessFile;

public class Question_fin 
{
	public static void q_fin()throws IOException
	{
		File file=new File(".\\\\question.txt");
		try (RandomAccessFile rf = new RandomAccessFile(file,"rw")) 
		{
			rf.writeUTF("“口”是嘴巴但在一些字中表示其它物体。下面字中“口”的表述错误的是()\n");
			rf.writeUTF("A.否会意字从口从不。口是嘴巴口说不自然是否定。\n");
			rf.writeUTF("B.合上部是锅盖下部“口”是锅的象形古文字是圆形。盖子盖住锅头正合适。\n");
			rf.writeUTF("C.舍象形字是房屋的侧视形上是屋顶下部的“口”是嘴表示屋内有人住。\n");
			rf.writeUTF("C");
			rf.writeUTF("下面关于“罒”这一偏旁的表述错误的是()\n");
			rf.writeUTF("A.“蔑德蜀”三字的“罒”是“目”的横置俗称“横目”与人的眼睛有关。\n");
			rf.writeUTF("B.“罗、罩、署”三字的“罒”是“网”的变写俗称“网四头”与网有关。\n");
			rf.writeUTF("C.“罪、罢、罚”三字的“罒”就是数字“四”俗称“四字头”与次数有关。意为“事不过三”超过四次就有罪就会受到惩罚就会被罢免。\n");
			rf.writeUTF("C");
			rf.writeUTF("用《说文解字》查字必须按“文字学部首”来确定。下面表述错误的是()\n");
			rf.writeUTF("A.“险、阻、阵”等字的“阝”与人的左耳有关所以要查耳部。\n");
			rf.writeUTF("B.“都、郊、鄙”等字的“阝”与区域方位有关所以要查邑部。\n");
			rf.writeUTF("C.“热、熟、烈”等字的“灬”是“火”的变写所以要查火部。\n");
			rf.writeUTF("A");
			rf.writeUTF("下面的表述错误的是()\n");
			rf.writeUTF("A.“诉诸法律”的“诸”是“之于”两个字急说时的合音即是“诉之于法律”。\n");
			rf.writeUTF("B.“甭说了”的“甭”就是“不用”两个字急说时的合音字义就是“不用”。\n");
			rf.writeUTF("C.“彳”的读音“chì”,俗称“双人旁”或“双立人”。“彳”只作偏旁不独立成字。\n");
			rf.writeUTF("C");
			rf.writeUTF("“氵”在现代简化字中常省形为“冫”于是造成从“冫”的字既有表示水的也有表示冰或与冷冻有关的。下面的表述错误的是()\n");
			rf.writeUTF("A.在“准水准冲冲洗、决决口、减水少、凑汇流、羡、盗流涎”中“冫”实是“氵”的简写与冰无关。\n");
			rf.writeUTF("B.在“冻冷凛冽凊凌”中“冫”表冰古文字写如“仌”像冰块凝结形。\n");
			rf.writeUTF("C.“凝”的“冫”表示油脂遇冷凝结“冶”的“冫”也是指油脂油脂须冶炼方得。\n");
			rf.writeUTF("C");
			rf.writeUTF("下面的的表述错误的是()\n");
			rf.writeUTF("A.所有的汉字都有偏旁部首就是由偏旁构成。\n");
			rf.writeUTF("B.《说文解字》按以义为主的“文字学原则”确定部首所以“颖”要查“禾”部。\n");
			rf.writeUTF("C.《现代汉语词典》等字词典是按以形为主、形义兼顾的“检字法原则”确定部首的从字义考虑“颖”字可查“禾”部而“页”旁比较明显所以查“页”部也行。\n");
			rf.writeUTF("A");
			rf.writeUTF("下面的解说不正确的是()\n");
			rf.writeUTF("A.“慕、恭”的“”是“水”变形与流水有关。水善利万物而不争令人敬慕。\n");
			rf.writeUTF("B.“鞭、鞋”的“革”古文字像摊开的兽皮从革的字一般与兽皮有关。由剥下兽皮铲除附着的肉引申出变革、革命等义。\n");
			rf.writeUTF("C.“页”的繁体为“頁”古文字像突出头部的人形所以从页的字一般与人头有关。如顶头顶、顾回头、颇偏头、额额头项颈脖等。\n");
			rf.writeUTF("A");
			rf.writeUTF("下面的解说正确的是()\n");
			rf.writeUTF("A.“掱”字是个会意字三手相叠表示多面手什么都会干。\n");
			rf.writeUTF("B.“掱”字是个会意字表示手挥舞时动作的变化多端故从三手。\n");
			rf.writeUTF("C.“掱”字是个会意字俗称扒手为三只手,故用会意法写作“掱”。\n");
			rf.writeUTF("C");
			rf.writeUTF("下面的解说不正确的是()\n");
			rf.writeUTF("A.一教师在向学生讲解“谢”字的形义时说这是一个“左中右结构”的字在指导学生写字时也强调这是一个“左中右结构”的字要先写“讠”再写“身”最后写“寸”。\n");
			rf.writeUTF("B.“曼”字是形声字下部的形旁“又”是手上部的声旁是“冒”的变写只是把“目”横放成“罒”。本义指手势的舒展词语如轻歌曼舞。\n");
			rf.writeUTF("C.“行、往、待、彻、征”等字的形旁是“彳”“彳”是“行”的半文“行”古文字像“十字路”形因此从“彳”的字与道路或人的行走有关并非表示两个人。\n");
			rf.writeUTF("A");
			rf.writeUTF("下面的表述错误的是()\n");
			rf.writeUTF("A.“糖”是形声字原指用米麦制成的饴糖故用米作形旁表意。现代的糖多为蔗糖。\n");
			rf.writeUTF("B.“化”的古文字左旁是个站立的人右旁“匕”即是“匕首”义为人在持械操练。\n");
			rf.writeUTF("C.“聚”是个形声字“取”是声旁下部的“乑”是“众”的变写以众表示聚集。\n");
			rf.writeUTF("B");
			rf.writeUTF("下面的简化字与对应的繁体字完全正确的是()\n");
			rf.writeUTF("A.理发——理髮  后面——後面  里外——裏外\n");
			rf.writeUTF("B.书画——書畫  修理——脩理  故里——故裏\n");
			rf.writeUTF("C.面条——麵條  云气——雲氣  皇后——皇後\n");
			rf.writeUTF("A");
			rf.writeUTF("下列句子中有错别字的一句是()\n");
			rf.writeUTF("A.皇帝陵前的这两棵古柏至今依然蓊郁苍翠令观瞻者心中生出无限遐想。\n");
			rf.writeUTF("B.我们与亲人相伴的每一刻最不应该吝啬的是那份能慰籍彼此心灵的关爱。\n");
			rf.writeUTF("C.只要孩子们如往常般走进学校读书嘻戏希望就会萌生在灾区人们的心中。\n");
			rf.writeUTF("C");
			rf.writeUTF("下列词语中没有错别字的一组是()\n");
			rf.writeUTF("A.镶嵌  精萃  休闲装  轻描淡写\n");
			rf.writeUTF("B.瑕疵  鄙薄  邀请赛  赔理道歉\n");
			rf.writeUTF("C.怃然  琵琶  和稀泥  玲珑剔透\n");
			rf.writeUTF("C");
			rf.writeUTF("下列各句中没有错别字的一句是()\n");
			rf.writeUTF("A.绿茶冲泡时叶条在杯中松展游移沉浮品茗者观其动态尽享茶趣啜饮一口齿浃留香。\n");
			rf.writeUTF("B.六载奉献沤心沥血两任村官造福一方沈浩把生命的根深深地扎在这片他挚爱的热土上从此再也没离开。\n");
			rf.writeUTF("C.青海玉树发生7.1级地震后党中央、国务院高度重视统一部署各部门全力以赴千方百计展开救援工作。\n");
			rf.writeUTF("C");
			rf.writeUTF("为上联“心平浪静秋月芙蕖湘水碧”选择下联最合适的一项是\n");
			rf.writeUTF("A.志远天高春风杨柳麓山青\n");
			rf.writeUTF("B.情深海阔夏日荷花潇江红\n");
			rf.writeUTF("C.气壮山威鲲鹏展翅楚云飞\n");
			rf.writeUTF("A");
			rf.writeUTF("没有错别字的一组是()\n");
			rf.writeUTF("A.莫衷一是  鼓惑人心  歪风邪气  贪脏枉法\n");
			rf.writeUTF("B.百无聊赖  负隅顽抗  潸然泪下  没精打彩\n");
			rf.writeUTF("C.草菅人命  步履维艰  风靡一时  穿凿附会\n");
			rf.writeUTF("C");
			rf.writeUTF("下面没有错别字的一组是()\n");
			rf.writeUTF("A.就绪  鸠占雀巢  昏愦  不名一钱\n");
			rf.writeUTF("B.蓝球  建设蓝图  慰藉  名副其实\n");
			rf.writeUTF("C.污蔑  厉兵秣马  诬蔑  归根结蒂\n");
			rf.writeUTF("C");
			rf.writeUTF("选出书写正确的一项()\n");
			rf.writeUTF("A.通宵达旦  推心置腹  病入膏肓  厉害得失\n");
			rf.writeUTF("B.精疲力尽  令行禁止  火中取栗  乌烟瘴气\n");
			rf.writeUTF("C.风声鹤唳  漫不经心  翻天复地  剑拔弩张\n");
			rf.writeUTF("B");
			rf.writeUTF("选出没有错别字的一项是()\n");
			rf.writeUTF("A.飞短流长  耳熟能详  斐然成章  山长水远\n");
			rf.writeUTF("B.搬门弄斧  栩栩如生  喧宾夺主  繁文缛节\n");
			rf.writeUTF("C.愤世嫉俗  珠连璧合  宵衣旰食  勾心斗角\n");
			rf.writeUTF("A");
			rf.writeUTF("《三十六计》是体现我国古代卓越军事思想的一部兵书下列不属于《三十六计》的是()\n");
			rf.writeUTF("A.浑水摸鱼\n");
			rf.writeUTF("B.反戈一击\n");
			rf.writeUTF("C.笑里藏刀\n");
			rf.writeUTF("B");
			rf.writeUTF("下列哪个成语典故与项羽有关()\n");
			rf.writeUTF("A.隔岸观火\n");
			rf.writeUTF("B.暗度陈仓\n");
			rf.writeUTF("C.破釜沉舟\n");
			rf.writeUTF("C");
			rf.writeUTF("假如你的一首五绝诗被杂志社采用按照正文部分每字5元来计算你应得多少稿费\n");
			rf.writeUTF("A.50元\n");
			rf.writeUTF("B.100元\n");
			rf.writeUTF("C.200元\n");
			rf.writeUTF("B");
			rf.writeUTF("下面哪个字常用作表示顺序的第五位()\n");
			rf.writeUTF("A.戊\n");
			rf.writeUTF("B.戌\n");
			rf.writeUTF("C.戍\n");
			rf.writeUTF("A");
			rf.writeUTF("“近朱者赤近墨者黑”所蕴含的道理和下列哪句话最相似()\n");
			rf.writeUTF("A.青出于蓝,而胜于蓝\n");
			rf.writeUTF("B.蓬生麻中,不扶而直\n");
			rf.writeUTF("C.公生明,偏生暗\n");
			rf.writeUTF("B");
			rf.writeUTF("“结发”在古时是指结婚时()\n");
			rf.writeUTF("A.丈夫把头发束起来\n");
			rf.writeUTF("B.妻子把头发束起来\n");
			rf.writeUTF("C.把夫妻头发束在一起\n");
			rf.writeUTF("C");
			rf.writeUTF("我们常用“阳春白雪”和“下里巴人”指代高雅和通俗的文艺作品请问这两个成语最初指的是什么()\n");
			rf.writeUTF("A.文章\n");
			rf.writeUTF("B.画作\n");
			rf.writeUTF("C.乐曲\n");
			rf.writeUTF("C");
			rf.writeUTF("“一门父子三词客千古文章八大家”这幅对联中提到的“三父子”是()\n");
			rf.writeUTF("A.曹操、曹丕、曹植\n");
			rf.writeUTF("B.班彪、班固、班超\n");
			rf.writeUTF("C.苏洵、苏轼、苏辙\n");
			rf.writeUTF("C");
			rf.writeUTF("下列选项中与“亡羊补牢”意思最接近的是()\n");
			rf.writeUTF("A.祸兮福之所倚福兮祝之所伏\n");
			rf.writeUTF("B.失之东隅收之桑榆\n");
			rf.writeUTF("C.往者不可谏来者犹可追\n");
			rf.writeUTF("C");
			rf.writeUTF("王羲之对一种动物十分偏爱并从它的体态姿势上领悟到书法执笔运笔的道理这是什么动物()\n");
			rf.writeUTF("A.鹅\n");
			rf.writeUTF("B.鹤\n");
			rf.writeUTF("C.鱼\n");
			rf.writeUTF("A");
			rf.writeUTF("“洛阳纸贵”比喻作品风行一时广为流传这个成语与以下哪部著作有关()\n");
			rf.writeUTF("A.班固的《两都赋》\n");
			rf.writeUTF("B.司马相如的《长六赋》\n");
			rf.writeUTF("C.左思的《三都赋》\n");
			rf.writeUTF("C");
			
		}
	}
	
}

Read

package read;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import input.Input;
public class Read 
{
	public static void reading()throws Exception
	{
		String filename=".\\\\reading.txt";
		File fp = new File(filename);
		InputStreamReader read = new InputStreamReader (new FileInputStream(fp),"UTF-8");
		try (BufferedReader reader = new BufferedReader(read)) 
		{
			headmenu();
			int num=Integer.parseInt(Input.in.nextLine());
			if(num<1 || num>8)
			{
				System.out.println("==================The number you entered is out of range.===================");
				System.out.println("=============================Please input again.============================");
				reading();
				return;
			}
			String story;
			for(int n=1;n<=8;n++)
			{
				story=reader.readLine();
				if(n==num)
				{
					int len=story.length();
					char[] ch=story.toCharArray();
					for(int i=0;i<len;i++)
					{
						System.out.print(ch[i]);
						if(i%60==0 && i!=0)  	System.out.print("\n");
					}
					System.out.print("\n");
					System.out.println("==============================Reading is over. =============================");
					System.out.println("=============The system has automatically returned to the menu.=============");
					break;
				}
			}
		}
		System.out.print("\n");
		read.close();
	}
	public static void headmenu()
	{
		System.out.println("=======================Welcome to the \"Read\" section! ======================");
		System.out.println("||=========     You can choose the following stories to read     =========||");
		System.out.println("||=========               Please enter your choice               =========||");
		System.out.println("||=========                      1   甲骨文                      =========||");
		System.out.println("||=========                      2   金文                        =========||");
		System.out.println("||=========                      3   大篆                        =========||");
		System.out.println("||=========                      4   小篆                        =========||");
		System.out.println("||=========                      5   隶书                        =========||");
		System.out.println("||=========                      6   楷书                        =========||");
		System.out.println("||=========                      7   草书                        =========||");
		System.out.println("||=========                      8   行书                        =========||\n");
	}
}

Guess

package guess;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import user.User;
import input.Input;
public class Guess 
{
	public static void guess(int num,User u)throws Exception
	{
		int temp_score=0;
		String filename=".\\\\guess.txt";
		File fp = new File(filename);
		InputStreamReader read = new InputStreamReader (new FileInputStream(fp),"UTF-8");
		try (BufferedReader reader = new BufferedReader(read)) 
		{
			headmenu();
			String que,ans,u_ans;
			int lev=0;
			for(int i=1;i<=num;i++)
			{
				System.out.println("No."+i+":");
				que=reader.readLine();
				System.out.println(que);
				ans=reader.readLine();
				u_ans=Input.in.nextLine();
				if(!ans.equals(u_ans))  //回答错误 游戏结束
				{
					System.out.println("||=========                 Game over …(。•ˇ‸ˇ•。)…                =========||");
					break;
				}
				else
				{
					u.gs_score+=2;
					temp_score+=2;;
					System.out.println("Pass! ✔\n");
				}
				lev=i;
			}
			System.out.println("||=========             You made it through "+lev+" levels             =========||");
			endmenu(temp_score);
		}
	}
	public static void headmenu()
	{
		System.out.println("========================Welcome to the \"Guess\" game! =======================");
		System.out.println("||=====You need to guess one of the characters the question describes=====||");
		System.out.println("||=========          Attention! This game is level based         =========||");
		System.out.println("||=========             The difficulty is increasing             =========||");
		System.out.println("||=========           One wrong guess and the game ends          =========||");
		System.out.println("||=========        See how many guesses you can get right        =========||");
		System.out.println("||=========                 Fighting!!! ٩꒰。•◡•。꒱۶                =========||\n");
	}
	public static void endmenu(int temp_score)
	{
		System.out.println("||=========              Your \"Guess\" score is "+temp_score+".                =========||");
		System.out.println("||=========      ✿ Wish you get better scores next time~ ✿      =========||");
		System.out.println("||=========      ✿          ʕ •ɷ•ʔฅ   ❤  ฅʕ•ɷ• ʔ        ✿      =========||\n");
	}
}

Personal

package personal;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.InputStreamReader;
import java.io.LineNumberReader;
import user.User;
import input.Input;

public class Personal 
{
	public static void personal(User u)throws Exception
	{
		String acnt=u.account;
		u.tot_score=(u.asr_score+u.gs_score)+"";
		String filename=".\\\\data.txt";
		String filename1=".\\\\data1.txt";
		File fp=new File(filename);  
		File fp1=new File(filename1);
		InputStreamReader read = new InputStreamReader (new FileInputStream(fp),"UTF-8");
		try (BufferedReader reader = new BufferedReader(read)) 
		{
            try (LineNumberReader linerd = new LineNumberReader(new FileReader(filename))) 
            {
            	try (BufferedWriter writer = new BufferedWriter(new FileWriter(filename1)))
				{
					linerd.skip(Long.MAX_VALUE);
					int lines = linerd.getLineNumber();
					int num=lines/8;
					for(int i=0;i<num;i++)
					{
						u.read2(reader);
						if(acnt.equals(u.account))
						{
							page();
							String op=Input.in.nextLine(),ch;
							while(!op.equals("9"))
							{
								switch(op)
								{
									case "1":
										System.out.println("Your nickname:");
										System.out.println(u.nickname+"\n");
										choose();
										ch=Input.in.nextLine();
										while(!ch.equals("0") && !ch.equals("1"))
										{
											System.out.println("||===================== Invaild! Please input again. =====================||");
											ch=Input.in.nextLine();
										}
										if(ch.equals("0"))
										{
											System.out.println("||================== Please input your new information. ==================||");
											u.nickname=Input.in.nextLine();
											System.out.println("||================= Modified successfully!  (っ•̀ω•́)っ✎⁾⁾  =================||"+"\n");
										}
										else  break;
										break;
									case "2":
										System.out.println("Your gender:");
										System.out.println(u.gender+"\n");
										choose();
										ch=Input.in.nextLine();
										while(!ch.equals("0") && !ch.equals("1"))
										{
											System.out.println("||===================== Invaild! Please input again. =====================||");
											ch=Input.in.nextLine();
										}
										if(ch.equals("0"))
										{
											System.out.println("||================== Please input your new information. ==================||");
											u.gender=Input.in.nextLine();
											System.out.println("||================= Modified successfully!  (っ•̀ω•́)っ✎⁾⁾  =================||"+"\n");
										}
										else  break;
										break;
									case "3":
										System.out.println("Your age:");
										System.out.println(u.age+"\n");
										choose();
										ch=Input.in.nextLine();
										while(!ch.equals("0") && !ch.equals("1"))
										{
											System.out.println("||===================== Invaild! Please input again. =====================||");
											ch=Input.in.nextLine();
										}
										if(ch.equals("0"))
										{
											System.out.println("||================== Please input your new information. ==================||");
											u.age=Input.in.nextLine();
											System.out.println("||================= Modified successfully!  (っ•̀ω•́)っ✎⁾⁾  =================||"+"\n");
										}
										else  break;
										break;
									case "4":
										System.out.println("Your birthday:");
										System.out.println(u.birthday+"\n");
										choose();
										ch=Input.in.nextLine();
										while(!ch.equals("0") && !ch.equals("1"))
										{
											System.out.println("||===================== Invaild! Please input again. =====================||");
											ch=Input.in.nextLine();
										}
										if(ch.equals("0"))
										{
											System.out.println("||================== Please input your new information. ==================||");
											u.birthday=Input.in.nextLine();
											System.out.println("||================= Modified successfully!  (っ•̀ω•́)っ✎⁾⁾  =================||"+"\n");
										}
										else  break;
										break;
									case "5":
										System.out.println("Your personal profile:");
										System.out.println(u.profile+"\n");
										choose();
										ch=Input.in.nextLine();
										while(!ch.equals("0") && !ch.equals("1"))
										{
											System.out.println("||===================== Invaild! Please input again. =====================||");
											ch=Input.in.nextLine();
										}
										if(ch.equals("0"))
										{
											System.out.println("||================== Please input your new information. ==================||");
											u.profile=Input.in.nextLine();
											System.out.println("||================= Modified successfully!  (っ•̀ω•́)っ✎⁾⁾  =================||"+"\n");
										}
										else  break;
										break;
									case "6":
										System.out.println("Your game score:");
										System.out.println(u.tot_score+"\n");
										System.out.println("||=========                      0   Return                      =========||");
										ch=Input.in.nextLine();
										while(!ch.equals("0"))
										{
											System.out.println("||===================== Invaild! Please input again. =====================||");
											ch=Input.in.nextLine();
										}
										break;
									case "7":
										System.out.println("Your level:");
										System.out.println(u.level+"\n");
										System.out.println("||=========                      0   Return                      =========||");
										ch=Input.in.nextLine();
										while(!ch.equals("0"))
										{
											System.out.println("||===================== Invaild! Please input again. =====================||");
											ch=Input.in.nextLine();
										}
										break;
									case "8":
										info(u);
										ch=Input.in.nextLine();
										while(!ch.equals("0"))
										{
											System.out.println("||===================== Invaild! Please input again. =====================||");
											ch=Input.in.nextLine();
										}
										break;
									default:
										System.out.println("========Invaild! Please input again.=======");
										break;
								}
								page();
								op=Input.in.nextLine();
							}
							break;
						}
					}
					u.write2(writer);
				}
			}
		}
		read.close();
		fp.delete();
		fp1.renameTo(fp);
	}
	public static void page()
	{
		System.out.println("======================Welcome to the \"Personal\" page! =====================");
		System.out.println("||=============You can modify your personal information here.=============||");
		System.out.println("||=========               Please enter your choice               =========||");
		System.out.println("||=========                      1   Nickname                    =========||");
		System.out.println("||=========                      2   Gender                      =========||");
		System.out.println("||=========                      3   Age                         =========||");
		System.out.println("||=========                      4   Birthday                    =========||");
		System.out.println("||=========                      5   Personal Profile            =========||");
		System.out.println("||=========                      6   Game Score                  =========||");
		System.out.println("||=========                      7   Level                       =========||");
		System.out.println("||=========                      8   All My Information          =========||");
		System.out.println("||=========                      9   Return Menu                 =========||\n");
	}
	public static void choose()
	{
		System.out.println("||=========                      0   Modify                      =========||");
		System.out.println("||=========                      1   Return                      =========||");
	}
	public static void info(User u)
	{
		System.out.println("||==================  All your information  ヾ(•ω•`。)  ==================||");
		System.out.println("Your nickname:");
		System.out.println(u.nickname);
		System.out.println("Your gender:");
		System.out.println(u.gender);
		System.out.println("Your age:");
		System.out.println(u.age);
		System.out.println("Your birthday:");
		System.out.println(u.birthday);
		System.out.println("Your personal profile:");
		System.out.println(u.profile);
		System.out.println("Your game score:");
		System.out.println(u.tot_score);
		System.out.println("Your level:");
		System.out.println(u.level);
		System.out.println("||=========                      0   Return                      =========||");
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值