问答题现有磁盘文件filea.txt和fileb.txt,各存放一行字母,上述程序实现了将2个磁盘文件中的内容合并,并按照字母的升序排列,存放到一个新的文件new.txt中。请将程序补充完整。 注意:不改动程序结构,不得增行或删行。 package ch3; import java.util.*; import java.io.*; public class ex3 public static void main(String[] args) String s=""; try RandomAccessFile f1= new RandomAccessFile("ch3/filea.txt","rw"); ______f2=new ______("ch3/fileb.txt","rw"); s=f1.readLine()+f2.readLine(); char c[]=s.toCharArray(); Arrays.sort(c); ______Out=new______("ch3/new.txt"); for(int i=0;i<c.length;i++) Out.______(c[i]); out.______; f1.close(); f2.close(); catch(I0Exception ioe) ioe.printStackTrace();
问答题下面是一个Applet程序,其功能是对输入的字符串进行抽取。要求给出抽取的子串在母串中的起始和终止位置,输出抽取出来的子串。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。程序运行结果如下:importjava.awt.*;importjava.applet.*;publicclassex26_3extendsAppletTextFieldtf1;TextFieldtf2;TextFieldtf3;Buttonbtn;StringstrResult;publicvoidinit()Label1=newLabel("字符串:");add(l);tf1=newTextField(20);add(tf1);l=newLabel("开始位置:");add(l);tf2=newTextField(5);add(tf2);l=newLabel("结束位置:");add(l);tf3=newTextField(5);add(tf3);btn=newButton("抽取");add(btn);strResult="".resize(250,200);publicvoidpaint(Graphicsg)g.drawString("选中的子串为:",80,140);g.drawString(strResult,80,140);publicbooleanaction(Evente,Objecto)if(o=="抽取")tryStringstr1=tf1.getText();Stringstr2=tf2.getText();Stringstr3=tf3.getText();intfrom=Integer.parseInt(str2);intto=Integer.parseInt(str1);strResult=str1.substring(from,to-1);catch(StringIndexOutOfBoundsExceptionse)strResult="字符索引越界!";repaint();returntrue;elsereturnfalse;ex26_3.htm1<HTML><HEAD><TITLE>ex26_3</TITLE></HEAD><BODY><appletcode="ex26_3.class"width=800height=400></applet></BODY></HTML>
问答题程序如下:∥Java_1.javaimportjava.applet.*;importjava.awt.Graphics;∥**********Found**********publicclassJava_1extends{{U}}(1){{/U}}{publicvoidpaint(Graphicsg){∥**********Found**********g.{{U}}(2){{/U}}("欢迎你来参加Java语言考试!",25,25);}}∥Java_1.html<html><appletcode="Java_1.class"width=300height=45></applet></html>
问答题注意:下面出现的“考生文件夹”均为%USER%。在考生文件夹下存有文件名为Java_1.java文件,请完善Java_1.java文件,并进行调试,程序先显示一个输入窗口如下:连续输入3个整数,显示积的结果如下:由于Java_1.java文件不完整,请在注释行“//*********Found*********”下一行语句的下画线地方填入正确内容,然后删除下画线,请勿删除注释行或其他已有语句内容。存盘时,文件必须存放在考生文件夹下,不得改变原有文件的文件名。给定源程序://CalculatetheproductofthreeintegersimportJavax.swing.JOptionPane;publicclassJava_1publicstaticvoidmain(Stringargs[])intx,y,z,result;StringxVal,yVal,zVal;//*********Found**********xVal=JOptionPane.______("输入第1个整数:");yVal=JOptionPane.showInputDialog("输入第2个整数:");zVal=JOptionPane.showInputDialog("输入第3个整数:");//*********Found**********x=Integer.______(xVal);y=Integer.parseInt(yVal);z=Integer.parseInt(zVal);result=x*y*z;//*********Found**********______.showMessageDialog(null,"三个整数之积是"+result);System.exit(0);
问答题下面是一个Applet程序,其功能是计算山顶的高度,计算方法是;该山顶由a点量得仰角度数为a度,由b点量得仰角度数为b度,且测得a,b点之间的距离为c米,求山的高度。要求窗口中有3个输入框,分别作为a,b,c的输入,一个按钮点击后进行计算,结果显示在另一个文本框中(这个文本框不可编辑)。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。程序运行结果如下:importjava.io.*;importjava.awt.*;importjava.awt.event.*;importjava.applet.Applet;/*<appletcode="ex23_3.class"width=800height=400></applet>*/publicclassex23_3extendsAppletimplementsActionListener{Panelpane=newPanel();Label11=newLabel("a点仰角:");TextFieldtf1=newTextField(5);Label12=newLabel("b点仰角:");TextFieldtf2=newTextField(5);Label13=newLabel("a,b之间距离:");TextFieldtf3=newTextField(5);Buttonbtn=newButton("OK");Label14=newLabel("山高:");TextFieldtf4=newTextField(20);ex23_3obj23_3;publicvoidinit(){pane.setLayout(newFlowLayout(FlowLayout.LEFT,10,5));pane.add(11);pane.add(tf1);pane.add(12);pane.add(tf2);add("North",pane);Panelp2=newPanel();p2.setLayout(newFlowLayout(FlowLayout.LEFT,10,5));p2.add(13);p2.add(tf3);p2.add(btn);btn.addActionListener(this);add("Center",p2);Panelp3=newPanel();p3.setLayout(newFlowLayout(FlowLayout.LEFT,10,5));p3.add(14);{{U}}tf4.setEditable(true);{{/U}}p3.add(tf4);add("South",p3);obj23_3=newex23_3();}publicvoiddoMessure(doubleal,doublea2,doublea3,TextFieldtf){doublepi=Math.PI,a,b,h;a=al*pi/180.0;b=a2*pi/180.0;{{U}}h=a3/(1.0/Math.tan(a)-1.0/Math.tan(b));{{/U}}{{U}}tf.setText(Integer.toString(h));{{/U}}}publicvoidactionPerformed(ActionEventae){doublea,b,c;try{a=newDouble(tf1.getText()).doubleValue();b=newDouble(tf2.getText()).doubleValue();c=newDouble(tf3.getText()).doubleValue();obj23_3.doMessure(a,b,c,tf4);}catch(NumberFormatExceptionnfe){tf4.setText("wrongnumber!");}}}{{B}}ex23_3.html{{/B}}<HTML><HEAD><TITLE>ex23_3</TITLE></HEAD><BODY><appletcode="ex23_3.class"width=800height=400></applet></BODY></HTML>
问答题本程序的功能是用按钮来控制文字的颜色。窗口中有三个按钮:“Yellow”、“Blue”和“Red”,它们分别对应文字标签中文本的颜色为黄色、蓝色和红色,单击任意一个按钮,文字标签中的文本就变成按钮对应的颜色,如图所示。importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;classButtonPanelextendsJPanelimplementsActionListener{publicButtonPanel(){yellowButton=newJButton("Yellow");blueButton=newJButton("Blue");redButton=newJButton("Red");jl=newJLabel("IamfromChina!");add(yellowButton);add(blueButton);add(redButton);add(jl);yellowButton.addActionListener(this);blueButton.addActionListener(this);redButton.addActionListener(this);}publicvoidactionPerformed(ActionEventevt){Objectsource=evt.getSource();Colorcolor=getForeground();if(source==yellowButton)color=Color.yellow;elseif(source==blueButton)color=Color.blue;elseif(source==redButton)color=Color.red;______;______;}privateJButtonyellowButton;privateJButtonblueButton;privateJButtonredButton;privateJLabeljl;}classButtonFrameextendsJFrame{publicButtonFrame(){setTitle("exam_16");setSize(300,200);addWindowListener(newWindowAdapter(){publicvoidwindowClosing(WindowEvente){System.exit(0);}});ContainercontentPane=getContentPane();contentPane.add(newButtonPanel());}}publicclassexam_23{publicstaticvoidmain(String[]args){JFrameframe=newButtonFrame();frame.show();}}
问答题下面是一个Applet程序,其功能是有2个按钮,分别为First和Second,以及一个Label构件。要求单击First时则能在Label中显示出Command:First,而单击Second时则能显示出Command:Second,要求只能使用重载一次actionPerformed()方法。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。程序运行结果如下:importjava.awt.*;importjava.awt.event.*;importjava.applet.*;/*<appletcode=ex3_3.classwidth=800height=400></applet>*/publicclassex3_3extendsAppletimplementsActionListener{privateStringstr="ok";privateLabel1;privateButtonbtn;publicvoidinit(){setLayout(null);1=newLabel(str);1.reshape(10,10,150,30);add(1);btn=newButton("First");btn.reshape(10,50,60,20);{{U}}1.addActionListener(this);{{/U}}add(btn);btn=newButton("Second");btn.reshape(10,100,60,20);{{U}}btn.setActionCommand({{/U}}"{{U}}First{{/U}}"{{U}});{{/U}}btn.addActionListener(this);add(btn);}publicvoidactionPerformed(ActionEventae){str="Command:"+ae.getActionCommand();{{U}}btn.setText(str);{{/U}}}}ex3_3.html<HTML><HEAD><TITLE>ex3_3</TITLE></HEAD><BODY><appletcode="ex3_3.class"width=800height=400></applet></BODY></HTML>
问答题请在下面程序中的每条横线处填写一个语句,使程序的功能完整。程序的输出结果为:
TIME=1867
b=9
i=123
注意:请勿改动main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。
import java.io.*;
public class DataType{
public______________void main(String args[])
{
byte b;
int i;//定义变量i为int类型
___________________________ //定义常量TIME为整型,且值为1867
i=123;//给变量i赋值,该值为十进制的123
__________________________________//给变量赋值,改值为,八进制的11,十进制的9
System.out.println("TIME”+TIME);
System.out.println("b="+b);
System.out.println("i="+i);
}
}
问答题在以下程序中,鼠标单击小应用程序的某一点,则会在该点显示一个图标,如果双击,则会清除该图标。且在浏览器的状态栏上会显示鼠标单击位置的坐标。运行结果如下图所示。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不是增行或删行。importjava.applet.*;importjava.awt.*;importjava.awt.event.*;publicclassExample3_1extendsAppletintxPoint,yPoint;intsum;ImagedisplayIm;publicvoidinit()displayIm=getImage("ms.jpg");addMouseListener(newSClickMouse());sum=2;publicvoidpaint(Graphicsg)if(sum==1)g.drawImage(displayIm,xPoint,yPoint,this);elseg.fillRect(xPoint,yPoint,60,60);publicclassSClickMouseimplementsMouseListenerpublicvoidmouseClicked(MouseEventmouse)sum=mouse.getClickCount();xPoint=mouse.getX();yPoint=mouse.getY();paint();publicvoidmouseEntered(MouseEventmouse)publicvoidmouseExited(MouseEventmouse)publicvoidmousePressed(MouseEventmouse)xPoint=mouse.getX();yPoint=mouse.getY();showStatus("x="+xPoint+",y-"+yPoint);publicvoidmouseReleased(MouseEventmouse)Exampie3_1.html:<html><head><title>Example3_1</title></head><body><appletcode="Example3_1.class"width="400"height="500"></applet></body></html>
问答题下面程序的功能是找出所有三位数中,个、十、百位数字的立方和等于该数本身的三位数并显示。在程序的每条横线处填写一个适当的语句,使程序的功能完整。 public class LiFangHe public static void main(String args[]) System.out.println("个、十、百位数字的立方和等于该数本身的三位数有:"); for(int n=100;n<1000;n++) int a,b,c; _______________ b=n/10%10; _______________ if(_______________) System.out.println(n);
问答题请完成下列Java程序:计算下列级数之和,直到该项之绝对值小于0.001为止。 S=1/1! -1/2! +1/3! -1/4! + 注意:请勿改动main()主方法和其他已有的语句内容,仅在横线处填入适当的语句。 程序运行结果如下: i=1 s=1.0 i=2 s=0.5 i=3 s=0.6666666666666666 i=4 s=0.625 i=5 s=0.6333333333333333 i=6 s=0.6319444444444444 public class exl3_2 public static void main(Stfing[] args) double s=0.0,sign=-1.0,t,f=1.0; for(int i=1;;i++) f=f*i; __________; t=sign/f; if(__________) break; s=s+t; System.out.prinfln("i="+i+"s="+s);
问答题下面是一个Applet程序,其功能是根据给出的小时,分钟和秒数计算相等的秒数,即将1分钟化为60秒,依此类推。要求建立一个时间类,时间参数均作为类的成员变量,并且给出换算时间的方法,也作为这个类的成员函数,可以供外部对象进行调用。同时还需要在输出窗口中显示换算结果,并且将结果写到out3_3.txt文件中,本题给出确定的时间为4小时23分47秒,要求换算成以秒做单位的时间。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。程序运行结果如下:importjava.io.*;importjava.awt.*;importjava.applet.*;/*<appletcode=ex3_3.classwidth=800height=400></applet>*/publicclassex3_3extendsAppletpublicvoidpaint(Graphicsg)intnSum;classmyTime3_3publicinth;publicintm;publicints;publicintout;publicintcaculateSecond()out=h*60+m*60+s;returnout;myTime3_3objTime3_3=newmyTime3_3);objTime3_3.h=4;objTime3_3.m=23;objTime3_3.s=47;nSum=objTime3_3.caculateSecond();g.drawString(时:"+objTime3_3.h,2030);g.drawString("分:"+objTime3_3.m,2050);g.drawString("秒:"+objTime3_3.s,20,70);g.drawString("合计:"+objTime3_3.out+"秒",20,90);tryFileOutputStreamlos3_3=newFileOutputStream("out3_3.txt,,);BufferedOutputStreambos3_3=newBufferedOutputStream(fos3_3,1024);PrintStreamps3_3=newPrintStream(bos3_3,false);System.setOut(ps3_3);System.out.println("合计:"+objTime3_3.out+"秒");ps3_3.close();catch(IOExceptionioe)System.out.println(ioe);ex3_3.html<HTML><HEAD><TITLE>ex3_3</TITLE></HEAD><BODY><appletcode="ex3_3.class"width=800height=400></applet></BODY></HTML>
问答题下面的程序是求9999以内的“完全数”。所谓完全数是指这样的自然数:它的各个约数(不包括该数自身)之和等于该数自身。如28=1+2+4+7+14就是一个完全数。请在程序的每条横线处填写一个语句,使程序的功能完整。
注意:请勿改动main()主方法和其他已有的语句内容,仅在横线处填人适当的语句。
public class QuanShu{
public static void main(String args[]){
for(int n=1;n<9999;n++)
if(__________)System.out.println(n);
}
public static int divsum(int n){//该方法功能是求一个数的所有约数
int s=;
for(int i=;i<n;i++)
if(__________)
__________
return s;
}
}
问答题下面是一个Applet程序,其功能是计算山顶的高度,计算方法是:该山顶由a点量得仰角度数为a,由b点量得仰角度数为b,且测得a,b点之间的距离为c,求山的高度。要求窗口中有3个输入框,分别作为a、b、c的输入,一个按钮单击后进行计算,结果显示在另一个文本框中<这个文本框不可编辑)。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。
注意:不改动程序的结构,不得增行或删行。
源程序文件代码清单如下:
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
/*
<applet code="ex6_3.class"width=800 height=400>
</applet>
*/
public class ex6_3 extends Applet implements ActionListener
{
Panel pane=new Panel();
Label 11=new Label("a点仰角:");
TextField tf1=new TextField(5);
Label 12:=new Label("b点仰角:");
TextField tf2=new TextField(5);
Label 13=new Label("a,b之间距离:");
TextField tf3=new TextField(5);
Button btn=new Button("OK");
Label 14=new Label("山高:");
TextField tf4=new TextField(20);
ex6_3 Obj23_3;
public void init()
{
pane.setLayout(new FlowLayout(PlowLayout.LEFT,10,5));
pane.add(11);
pane.add(tf1);
pane.add(12);
pane.add(tf2);
add("North",pane);
Panel p2=new Panel();
p2.setLayout(new FlowLayout(FlowLayout.LEFT,10,5));
p2.add(13);
p2.add(tf3);
p2.add(btn);
btn.addActionListener(this);
add("Center",p2);
Panel p3=new Panel();
p3.setLayout(new FlowLayout(FlowLayout.LEFT,10,5));
p3.add(14);
{{U}}tf4.setEditable(true);{{/U}}
p3.add(tf4);
add("South",p3);
Obj23_3=new ex6 3();
}
public void doMessure(double a1,double a2,double a3,TextField tf)
{
double pi=Math.PI,a,b,h;
a=al*pi/180.0;
b=a2*pi/180.0;
{{U}}h=a3/(1.0/Math.tan(a)-1.0/Math.tan(b));{{/U}}
{{U}}tf.setText(Integer.toString(h));{{/U}}
}
public void actionPerformed(ActionEvent ae)
{
double a,b,c;
try
{
a=new Double(tf1.getText()).doubleValue();
b=new Double(tf2.getText()).doubleValue();
c=new Double(tf3.getText()).doubleValue();
obj23_3.doMessure(a,b,c, tf4};
}catch(NumberFormatExceptlon nfe)
{
tf4.setText("wrong number!");
}
}
}
{{B}} ex6_3.html{{/B}}
<HTML>
<HEAD>
<TITLE>ex6_3</TITLE>
</HEAD>
<BODY>
<applet code="ex6_3.class"width=800 height=400>
</applet>
</BODY>
</HTML>
问答题请完成下列Java程序:创建一个二维整形数组,并将其以5行4列对齐的格式输出。请将程序填写完整。
注意:不改动程序结构,不得增行或删行。
public class ex2
{
public static void main(String[] args)
{
Int [ ] [ ] aMatrix={{1,1,1,1},{2,2,2,2},{3,3,3,3},{4,4,4,4},{5,5,5,5}};
int i=0;
int j=0;
for(i=0;i<aMatrix.length;i++)
{
For (j=0; ______; j++)
{
System.out.print(______+" ");
}
System.out.println( );
}
}
}
问答题本题的功能是用流式布局管理器来管理窗口中的按钮。在执行程序时指定生成按钮的个数,并把这些按钮都放置在流式布局管理器的窗口中。
问答题下面是打印输出所有和为1000的连续整数(如298、299、300、301、302等)的程序。请在下画线处填写适当的语句,完成此程序使它能正确执行。
public class Exercise42{ /*for,while循环的使用*/
public static void main(String args[]){
int i; //循环计数用,是连续整数序列的起始点
int j; //记录连续整数序列的终点
int k; //循环计数用
int sum; //计算连续整数的和
for(i=1;i<=1000;i++){
j=i;
sum=i;
______
______; //sum为若干个连续整数之和
if(sum==1000){ //如果恰好等于1000,就输出i~j整数序列
for(k=i;k<j;k++)System.out.print(k+",");
System.out.println();
}
}
}
}
问答题本题的功能是求两个交叉图形的并、减、交和异或。窗口中有4个单选按钮和一个图形面板,面板中有两个交叉的图形,选中其中一个单选按钮,图形面板中以黑色填充的方式显示运算结果。 import java.awt.*; import java.awt.event.*; import java.awt.geom.*; import java.util.*; import javax.swing.*; public class java3 public static void main(String[]args) JFrame frame=new AreaTestFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.show(); class AreaTestFrame extends JFrame public AreaTestFrame() setTitle("java3"); setSize(WIDTH,HEIGHT); areal =new Area(new Ellipse2D.Double(100,100,150,100)); area2 =new Area(new Rectangle2D.Double(150,150,150,100)); Container confentPane=getContentpane(); panel=new JPanel() public void paintComponent(Graphics g) super.paintComponent(g); Graphics2D g2=(Graphics2D)g; g2.draw(area1); g2.draw(area2); if(area!=null)g2.fill(area); ; contentPane.add(panel,BorderLayout.CENTER); JPanel buttonPanel=new JPanel(); ButtonGroup group=new ButtonGroup(); JRadioButton addButton=new JRadioButton("并",false); buttonPanel.add(addButton); group.add(addButton); addButton.addActionListener(new ActionListener() public void actionPerformed(AetionEvent event) area=new Area(); area.add(area1); area.add(area2); panel.repaint(); ); JRadioButton subtractButton =new JRadioButton("减",false); buttonPanel.add(subtractButton); group.add(subtractButton); subtractButton.addActionListener(new ActionListener() public void actionPerformed(ActionEvent event) area=new Area(); area.add(area1); area.subTract(area2); panel.repaint(); ); JRadioButton intersectButton =new JRadioButton("交",false); buttonPanel.add(intersectButton); group.add(intersectButton); intersectButton.addActionListener(new ActionListener() public void actionPerformed(ActionEvent event) area=new Area(); area.add(area1); area.interseet(area2); panel.repaint(); ); JRadioButton exclusiveOrButton =new JRadioButton("异或",false); buttonPanel.add(exclusiveOrButton); group.add(exclusiveOrButton); exclusiveOrButton.addActionListener(new ActionListener() public void actionPerformed(ActionEvent event) area=new Area(); area.add(area1); area.exclusiveor(area2); panel.repaint(); ); contentPane.add(buttonPanel,BorderLayout.NORTH); private JPanel panel; private Area area; private Area area1; private Area area2; private static final int WIDTH=400; private static final int HEIGHT=400;
问答题本程序的功能是监听对颜色的拖动。程序窗口中,有一个颜色设置框和一个文本框,在颜色设置框中设置颜色后,下面的预览面板将显示选中的颜色,将鼠标置于预览面板的颜色上按住左键(或右键)拖至文本框中,文本框的背景色将变成拖动的颜色,如图所示。importjava.awt.*;importjavax.swing.*;publicclassexam_32{publicstaticvoidmain(String[]args){JFrameframe=newSwingDnDFrame();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.show();}}classSwingDnDFrameextendsJFrame{publicvoidSwingDnDFrame(){setTitle("exam_32");ContainercontentPane=getContentPane();JColorChooserchooser=newJColorChooser();chooser.setDragEnable(true);contentPane.add(chooser,BorderLayout.CENTER);JTextFieldtextField=newJTextField("将预览的颜色拖到这里");textField.getDragEnabled(true);textField.setTransferHandler(newTransferHandler("background"));contentPane.add(textField,BorderLayout.SOUTH);pack();}}
问答题本程序找出字符串str中所有的小写字母(a~z),并打印输出。
public class exam_98{
public static void main(String[] args) {
String str="D241ERaeERA452ADdfEAFd5T";
char c;
int i=0;
do{
c=______;
if(______)
System.out.print(c+",");
i++;
}while(______);
}
}
