⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 editor.java

📁 这是我们写的考试系统!!java编写的!!不是很大!!希望有用
💻 JAVA
字号:
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
import java.util.LinkedList;

class _single implements Serializable{
		int point,cont;
		String answer[];
	}
class _multi implements Serializable{
		int point,cont;
		String answer[];

	}
class _judge implements Serializable{
		int point,cont;
		String answer[];
	}	
	

class ReadInfo{
	String temp,type;
	int i,point,cont,start=0,end=0;
	_judge j=new _judge();
	_single s=new _single();
	_multi m=new _multi();
	
	public ReadInfo(String info){
//		String info=tt;

		end=info.indexOf(',',start);
		temp=info.substring(start,end);	

		for(i=0;end+2<info.length();i++){
			if(i>1){
			start=end+1;
			end=info.indexOf(',',start);
			temp=info.substring(start,end);				
			}			
			
			if(temp.equals("single")==true){
		
				start=end+1;
				end=info.indexOf(',',start);
				temp=info.substring(start,end);
				s.point=Integer.parseInt(temp);
				start=end+1;
				end=info.indexOf(',',start);
				temp=info.substring(start,end);
				s.cont=Integer.parseInt(temp);
				s.answer=new String[s.cont];
				for(i=0;i<s.cont;i++){
			
					start=end+1;
					end=info.indexOf(',',start);
					temp=info.substring(start,end);
					s.answer[i]=temp;

				}

			}


			else if(temp.equals("multi")==true){

				start=end+1;
				end=info.indexOf(',',start);
				temp=info.substring(start,end);
				m.point=Integer.parseInt(temp);
				start=end+1;
				end=info.indexOf(',',start);
				temp=info.substring(start,end);
				m.cont=Integer.parseInt(temp);

				m.answer=new String[m.cont];
				for(i=0;i<m.cont;i++){
					start=end+1;
					end=info.indexOf(',',start);
					temp=info.substring(start,end);
					m.answer[i]=temp;

				
				}

			}

			else if(temp.equals("judge")==true){
	
				start=end+1;
				end=info.indexOf(',',start);
				temp=info.substring(start,end);
				j.point=Integer.parseInt(temp);
				start=end+1;
				end=info.indexOf(',',start);
				temp=info.substring(start,end);
				j.cont=Integer.parseInt(temp);

				j.answer=new String[j.cont];
				for(i=0;i<j.cont;i++){
					start=end+1;
					end=info.indexOf(',',start);
					temp=info.substring(start,end);
					j.answer[i]=temp;


				
				}
			}

		}
	
			

	}
	public void disPlay(){
		System.out.println("Single "+s.cont+" "+s.point);
		for(i=0;i<s.cont;i++){
			System.out.print(s.answer[i]+" ");
		}
		System.out.println();

		System.out.println("Mulit "+m.cont+" "+m.point);
		for(i=0;i<m.cont;i++){
			System.out.print(m.answer[i]+" ");
			
		}
		System.out.println();
		System.out.println("Judge "+j.cont+" "+j.point);
		for(i=0;i<j.cont;i++){
			System.out.print(j.answer[i]+" ");
		
		}
		System.out.println();
	}	


}



public class Editor extends JFrame implements ActionListener{
	
	private JTextArea textPane=new JTextArea();
	LinkedList queList;
	ReadInfo read;

	
	public Editor(){
		
		JSplitPane
		
		super("编辑试题");
		Container content=getContentPane();
		textPane.setEditable(true);
		content.add(new JScrollPane(textPane),BorderLayout.CENTER);
		JMenu menu=new JMenu("File");
		menu.add(makeMenuItem("打开TXT文件"));
		menu.add(makeMenuItem("Save"));
		menu.add(makeMenuItem("Quit"));	
		
		JMenuBar menuBar=new JMenuBar();
		
		menuBar.add(menu);
		setJMenuBar(menuBar);
		setSize(1024,768);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);	
			
	}
	public void actionPerformed(ActionEvent e){
		
		String command=e.getActionCommand();
		if(command.equals("Quit"))
		System.exit(0);
		else if(command.equals("Open"))	loadFile();
		else if(command.equals("Save"))	saveFile();
				
	}
	
	private void loadFile(){
		
		
		
		JFileChooser chooser=new JFileChooser();
		int result=chooser.showOpenDialog(this);
		if(result==JFileChooser.CANCEL_OPTION) return;
		try{
			String s;
			File file=chooser.getSelectedFile();

			FileInputStream fis=new FileInputStream(file);
			BufferedReader br=new BufferedReader(new InputStreamReader(fis));
			while((s=br.readLine())!=null){
				textPane.append(s+"\n");
			}
			br.close();	
		}catch(Exception e){	textPane.setText("Could not load file: "+e);	}
//		catch(Exception e){		e.printStackTrace();			}
		
		
	}
	


	private void saveFile(){
		String text,temp;
		int start=0,end,i;
		Question que;
		queList=new LinkedList();
		
		text=textPane.getText();

		end=text.indexOf('\n',start);
		temp=text.substring(start,end);

		ReadInfo ri=new ReadInfo(temp);
		read=ri;

		if(ri.s.cont!=0){
		
			for(i=0;i<ri.s.cont;i++){
				start=end+1;
				end=text.indexOf("\n\n",start);
				temp=text.substring(start,end);
				System.out.println(temp);
				System.out.println(ri.s.answer[i]);		
				que=new Question("single",temp,ri.s.answer[i],ri.s.point);
				if(queList.size()==0){
					queList.addFirst(que);
				}else{
					queList.addLast(que);
				}
				
								
						
			}
		}
		
		if(ri.m.cont!=0){
			for(i=0;i<ri.m.cont;i++){
				start=end+1;
				end=text.indexOf("\n\n",start);
				temp=text.substring(start,end);
				System.out.println(temp);
				System.out.println(ri.m.answer[i]);	
				que=new Question("multi",temp,ri.m.answer[i],ri.m.point);
				if(queList.size()==0){
					queList.addFirst(que);
				}else{
					queList.addLast(que);
				}
				
				
			}			
			
		}
		if(ri.j.cont!=0){
			for(i=0;i<ri.j.cont;i++){
				
				start=end+1;
				end=text.indexOf("\n\n",start);
				temp=text.substring(start,end);
				System.out.println(temp);
				System.out.println(ri.j.answer[i]);				
				que=new Question("judge",temp,ri.j.answer[i],ri.j.point);
				if(queList.size()==0){
					queList.addFirst(que);
				}else{
					queList.addLast(que);
					
				}				
			}
		System.out.println(queList.size());	
			
		}
		
	new InfoInput(queList,read.s,read.m,read.j);
		
	
	
	
	
	}
	
	private JMenuItem makeMenuItem(String name){
		
		JMenuItem m=new JMenuItem(name);
		m.addActionListener(this);
		return m;
	}
	
	public static void main(String[] args){
		
		new Editor().setVisible(true);
		
	}
	
}




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -