java考试题答案
- 格式:pdf
- 大小:254.31 KB
- 文档页数:15
1.使用package,实现乘法口诀表(输出格式)文件名为g.java程序如下:public class ChengFa{public static void main(String args[]){int i,j,k;for(i=1;i<=9;i++){for(j=1;j<=i;j++){k=i*j;System.out.print(j+"*"+i+"="+k+" ");}System.out.println();}}}3.键盘输入字符串,然后再打印输出(打印格式,第次打印结果是)import java.util.Scanner;public class Test2 {public static void main(String args[]){Scanner sc = new Scanner(System.in);System.out.println("请输入字符串:");String s = sc.next();char c[] = new char[s.length()];for(int i=0;i<s.length();i++){c[i] = s.charAt(i);}int j=0;for(int i=0;i<c.length;i++){j++;System.out.println("第"+ j+ "次打印结果是"+c[i]); }}4.线程(休眠和吵醒线程)//这是你们老师课件里面的例子,我就复制过来了class Test implements Runnable{ Thread student,teacher;Test(){ teacher=new Thread(this);student=new Thread(this); //任何对象teacher.setName("老师");student.setName("张三");}public void run(){ if(Thread.currentThread()==student){ try{ System.out.println(student.getName()+"正在睡觉,不听课"); Thread.sleep(1000*60*60);}catch(InterruptedException e){ System.out.println(student.getName()+"被老师叫醒了"); }System.out.println(student.getName()+"开始认真听课");}else if(Thread.currentThread()==teacher){for(int i=1;i<=3;i++){ System.out.println("上课!");try{ Thread.sleep(500);}catch(InterruptedException e){}}student.interrupt(); //吵醒student}}}public class TestThread{ public static void main(String args[]){ Test t=new Test();t.student.start();t.teacher.start();}}5.模拟记事本package lei.knowledge;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.io.*;public class JiShi implements ActionListener {private JFrame jf=new JFrame("王晓微的记事本");private JTextArea jta=new JTextArea();private JFileChooser jfc=newJFileChooser();private String save=null; //设一个字符串用来备份记事本的数据private int sn=0; //判断是否选择了文件,用于保存,是为1,否为0;private File fn=null; //存放执行保存选中的文件public JiShi(){ //主类JMenuBar jmb=new JMenuBar();String[] s1={"文件","编辑","帮助"};String[][] s2={{"新建","打开","保存","另存为","","退出"},{"撤销","","剪切","复制","粘贴","删除","","查找","替换","全选"},{"关于记事本"}};JMenu[] jm=new JMenu[s1.length];JMenuItem[][] jmi=newJMenuItem[s2.length][];for(int i=0;i<s1.length;i++){ jm[i]=new JMenu(s1[i]);jmi[i]=newJMenuItem[s2[i].length];for(intj=0;j<s2[i].length;j++){if(s2[i][j].equals(""))jm[i].addSeparator();else{jmi[i][j]=new JMenuItem(s2[i][j]);jm[i].add(jmi[i][j]);jmi[i][j].addActionListener(this); //设置监听}}jmb.add(jm[i]);}jf.setJMenuBar(jmb);jf.add(new JScrollPane(jta));jf.setSize(500,400);jf.setLocation(150,50);jf.setVisible(true);jf.addWindowListener(newWindowAdapter(){public voidwindowClosing(WindowEvent e){System.out.println("Window close!");System.exit(0);}});}public void actionPerformed(ActionEvente){ //监听String com=e.getActionCommand();if(com.equals("新建")){jta.selectAll();//选择全部jta.replaceSelection(""); //替换为空sn=0; //未选中文件}//这方法有点烂。
if(com.equals("打开")){jfc.showOpenDialog(jf);//弹出一个 "Open File" 文件选择器对话框,(JFileChooser类)Filef=jfc.getSelectedFile();//取得所选取的文件,如果未选取则返回以输入栏未为文件名的文件readFile(f); //调用读取文件方法sn=1; //已选中文件}if(com.equals("保存")){if(sn==0){jfc.showSaveDialog(jf);//弹"Save File"文件选择器.Filef=jfc.getSelectedFile();Stringstr=jta.getText(); //提取全部内容writeFile(f,str); //调写文件方法fn=f; //记录此文件sn=1;}else{writeFile(fn,jta.getText());}}if(com.equals("另存为")){jfc.showDialog(jf, "另存为");//跳一个自己设置按键名字的选择器Filef=jfc.getSelectedFile();writeFile(f,jta.getText());}if(com.equals("退出"))System.exit(0);if(com.equals("撤销")){ String a=jta.getText();//撤销是可还原循环操作jta.setText(save);save=a; //还原,再调用则恢复上次操作}if(com.equals("剪切")){save=jta.getText();//备份jta.cut();}if(com.equals("复制"))jta.copy();if(com.equals("粘贴")){save=jta.getText();//备份jta.paste();}if(com.equals("删除")){save=jta.getText();jta.replaceSelection(null); //替换为空即为删除}if(com.equals("查找")||com.equals("替换")){//把它们写一起了。
省事class C implementsActionListener{ //局部内部类JTextFieldajf1=new JTextField(20);JTextFieldajf2=new JTextField(20);int i=0; //记录查找位置的下标int ti=0;//是否可替换,0为否,1为是.JFrame a=newJFrame("查找和替换");public C(){ JPanelb=new JPanel();JButtonc1=new JButton("查找下一个");JButtonc2=new JButton("取消");JButtonc3=new JButton("替换");JButtonc4=new JButton("全部替换");b.setLayout(new FlowLayout());b.add(ajf1);b.add(c1);b.add(c2);a.add(b,BorderLayout.NORTH);a.add(ajf2,BorderLayout.WEST);a.add(c3);a.add(c4,BorderLayout.EAST);c1.addActionListener(this);c2.addActionListener(this);c3.addActionListener(this);c4.addActionListener(this);a.pack();a.setLocation(600,20);a.setVisible(true);//因为不是主窗口,所以不用关闭窗口}public void actionPerformed(ActionEvent e){String comm=e.getActionCommand();if(comm.equals("查找下一个"))find(ajf1.getText());if(comm.equals("替换")&&ti==1){save=jta.getText();//备份jta.replaceSelection(ajf2.getText());//替换选中区域find(ajf1.getText());//继续找}if(comm.equals("全部替换")){save=jta.getText(); //备份Stringchange=jta.getText().replaceAll(ajf1.getText(),ajf2.getText());//取全部替换jta.setText(change);//放}if(comm.equals("取消"))a.setVisible(false);//这里不知道有没有更好的方法能设置开关}public voidfind(String y){ //查找函数intn=jta.getText().indexOf(y,i);i=n+1;//下标+1if(n!=-1) {jta.select(n,n+y.length());ti=1; //找到后才可替换}else//弹出警告框JOptionPane.showMessageDialog(null,"找不到!","warning",RMATION_MESSAGE);}}new C();}if(com.equals("全选"))jta.selectAll();if(com.equals("关于记事本")){//弹出消息框JOptionPane jop=newJOptionPane();jop.showMessageDialog(null,"王小薇的记事本JAVA作业"+"\n","关于记事本",RMATION_MESSAGE,newImageIcon("/usr/share/pixmaps/gnome-aorta.png"));//如果报错则说明找不到图片,把图片插入语句删除}}public void readFile(File f){ //读取文件方法if(f!=null){try{FileInputStreamfis=new FileInputStream(f);byte[] b=newbyte[1024];String s="";for(;;){inttemp=fis.read(b);if(temp==-1)break;s=s+newString(b,0,temp);}fis.close();jta.setText(s);}catch(Exception ee){JOptionPane.showMessageDialog(null,"文件找不到!","warning",RMATION_MESSAGE);}}}public void writeFile(File f,String str){ //写文件方法if(f!=null){try{FileOutputStream fos=new FileOutputStream(f);fos.write(str.getBytes());fos.close();}catch(Exception ee){ee.printStackTrace();}}}public static void main(String[] args) {new JiShi();}}7.窗口应用程序实现文本的同步复制将1.txt文件中的内容文件复制到2.txt中public static void main(String arg[]){ int b;int len;try {FileInputStream fi=newFileInputStream("1.txt");FileOutputStream fo=new FileOutputStream("2.txt");try {while((b=fi.read())!=-1){fo.write(b);}fi.close();fo.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}} catch (FileNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();}}9. .Applet小程序(使用组件,播放声音)装入一个名为123.mp3的声音文件并播放package cha9;import java.awt.*;import java.applet.*;public class SoundDemo extends Applet{public void paint(Graphics g){AudioClip audioClip=getAudioClip(getCodeBase(),"123.mp3");//创建AudioClip对象//并用getAudioClip方法将其初始化。