问答题本程序的功能是定义类中带有参数的构造方法exam_19()和普通方法printInfo(),并定义类的对象temp,程序中将字符串“Jim”和整数19在定义对象时作为构造方法的参数传递给类,然后调用方法printInfo()打印传递的变量(如Jim已经有19岁了),请将程序中空缺部分填写适当内容,使程序能正确运行。
public class exam_19{
String name;
int age;
public exam_19(______){
this.name=name;
this.age=age;
}
______printInfo(){
System.out.println(name+"已经有"+age+"岁了.");
}
public static void main(String[] args){
String name="Jim";
int age=19;
______=new exam_19(name, age);
temp.printInfo();
}
}
问答题本题程序的功能是用表格的形式列出当前目录所有的文件属性,包括是否是文件夹、文件名称、是否可读、是否可写、文件大小以及最后修改时间。程序中存在若干错误,请找出并改正(注意:不得改动程序的结构,不得增行或删行)。 import java.awt.*; import javax.swing.*; import java.util.Date; import java.io.File; import javax.swing.table.*; public class advance extends Jframe public advance() super("advance"); setSize(500,400); setDefaultCloseOperation(EXIT_ON_CLOSE); FileModel fm = new FileModel(); JTable jt = new JTable(fm); jt.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); jt.setColumnSelectionAllowed(true); jt.setDefaultRenderer(Number.class,new BigRenderer(1000)); JScrollPane jsp = new JScrollPane(jt); getContentPane().add(jsp,BorderLayout.CENTER); public static void main (String args[]) advance ft : new advance(); ft.setVisible(true); class BigRenderer extends DefaultTableCellRenderer double threshold; public BigRenderer(double t) threshold = t; setHorizontalAlignment(JLabel.RIGHT); setHorizontalTextPosition(SwingConstants.RIGHT); public Component getTableCellRendererComponent(JTable table,Object value,boolean isSelected,boolean hasFocus,int row,int col) return super.getTableCellRendererComponent(table,value,isSelected,hasFocus,row,col); class FileModel extends AbstractTableModel String titles[] = new String[] "目录","文件名","可读?","可写?","大小","最后修改时间" ; Class types = new Class[] Boolean.class,String.class,Boolean.class,Boolean.class, Number.class,Date.class ; Object data[][]; public FileModel() this("."); public FileModel(String dir) File pwd = new File(dir); setFileStats (pwd); public int getRowCount() return data.length; public int getColumnCount() return titles.length; public String getColumnName(int c) return titles [c]; public Class getColumnClass(int c) return types[c]; public void getValueAt(int r,int c) return data[r] [c]; public void setFileStats(File dir) String files[] = dir.list; Data = new Object[files.length] [titles.length]; for (int i = 0; i<files.length; i++) File tmp = new File(files[i]); data[i] [0] = new Boolean(tmp.isDirectory()); data[i] [1] = tmp.getName(); data[i] [2] = new Boo lean(tmp.canRead()); data[i] [3] = new Boolean(tmp.canWrite()); data[i] [4] = new Long(tmp.length()); data[i] [5] = new Date(tmp.lastModified()); fireTableDataChanged ();
问答题下面程序是一个计时器,从1000秒开始倒计时,直到为0结束。在界面上有两个按钮,一个可以暂停计时,另一个可以继续已经暂停的计时。请更正题中带下划线的部分。
注意:不改动程序的结构,不得增行或删行
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
public class Example3_4 extends Applet
{
public Color color = Color.red;
private int num= 1000;
public Counter theCounter;
private Button stop;
private Button start;
public void init()
{
stop = new Button("暂停");
start = new Button ("继续");
theCounter = new Counter(this);
{{U}}stop.addActionListener(new Lst() implements ActionListener{{{/U}}
public void actionPerformed(ActionEvent e)
{
theCounter.sus();
}
});
start.addActionListener(new SuspenListener());
add(start);
add(stop);
theCounter.start();
}
public void paint(Graphics g)
{
g.setCotor(color);
g.drawString(String.valueOf(num),50,50);
}
public void setInt(int i)
{
num=i;
}
class SuspenListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
theCounter.conti ();
}
}
}
{{U}}public class Counter extends Thread{{/U}}
{
Example3_4 example;
boolean isHold;
Counter (Example3_4 ex)
{
this.example = ex;
isHold = false;
}
public void sus()
{
isHold = true;
}
public synchronized void conti()
{
isHold = false;
notify();
}
public void run()
{
for (int i = 1000; i>0; i--)
{
if (i%2 == 1)
example.color = Color.red;
else
example.color = Color.blue;
example.setInt(i);
example.repaint();
try
{
sleep(1000);
{{U}}synchronized{{/U}} {
while(isHold)
wait ( );
}
}
catch (InterruptedException ie)
{}
}
}
}
<HTML>
<HEAD>
<TITLE>Example3_4</TITLE>
</HEAD>
<BODY>
<applet code="Example3_4.class" width=300 height=400>
</applet>
</BODY>
</HTML>
问答题下面是一个Applet程序,程序的功能是显示一个圆心在Applet的中心,半径从0到100像素的不断变大的蓝色球的动画。请改正程序中的错误(有下划线的语句),使程序执行后,能得到预期的结果。注意:不改动程序的结构,不得增行或删行。程序的执行结果为: importjava.awt.*;importjava.applet.*;/*<appletcode=XiaoQiuwidth=800height=600></applet>*/publicclassXiaoQiuextendsAppletimplementsRunnableintcurrentX=0,currentY=0;Threadm_Draw=null;publicvoidinit()m_Draw=newThread(super);publicvoidpaint(Graphicsg)g.setColor(Color.blue);mycircle(g,getSize().width/2,getSize().height/2,currentX,currentY);publicvoidstart()m_Draw.start();tryThread.sleep(500);catch(InterruptedExceptione)publicvoidstop()if(m_Draw.isAlive())m_Draw.stop();publicvoidrun()trywhile(true)currentX++;currentY++;if(currentX>i00currentY=0;paint();Thread.sleep(100);catch(InterruptedExceptione)publicvoidmycircle(Graphicsg,intx,inty,intrx,intry)g.filloval(x-rx,y-ry,2*rx,2*ry);ex39_3.html:<html><head><title>ASimpleProgram</title></head><body><appletcede="XiaoQiu.class"width=800height=400></applet></body></html>
问答题本程序将字符串str中的字符'a'用'$'符号代替,然后将字符串中第一个$字符前的所有字符去掉,并打印输出最后的str字符串。
public class exam_64{
public static void main(String[] args) {
String str="Iamagoodboy, andwhataboutyou?";
str=______;
int pos=______;
str=______;
System.out.println(str);
}
}
问答题下面是一个Applet程序,其功能是分析任意输入的字符串,将字符串中由空格隔开的字串提取并显示出来。要求,窗口中有一个输入文本框,用于接受输入的字符串,一个按钮,点击则开始分析,分析结果用图形方式打印在窗口下面的区域中。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。程序运行结果如下:importjava.awt.*;importjava.applet.*;importjava.util.StringTokenizer;publicclassex27_3extendsApplet{privateTextFieldtf;privateButtonbtn;publicvoidinit(){tf=newTextField(25);add(tf);btn=newButton("分析");add(btn);resize(250,200);}publicvoidpaint(Graphicsg){Stringstr=tf.getText();StringTokenizerst={{U}}newStringTokenizer(tf){{/U}};intn=80;while({{U}}!st.hasMoreTokens()){{/U}}{Stringtem=st.nextToken();{{U}}g.drawString(tem,n,80);{{/U}}n+=20;}}publicbooleanaction(Evente,Objecto){if(o=="分析"){repaint();returntrue;}elsereturnfalse;}}{{B}}ex27_3.html{{/B}}<HTML><HEAD><TITLE>ex27_3</TITLE></HEAD><BODY><appletcode="ex27_3.class"width=800height=400</applet></BODY></HTML>
问答题请完成下列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 ex1_1 public static void main(String[ ] 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.println( "i= "+i+" s="+s);
问答题本题程序是一个Applet应用程序,功能是计算前n个自然数的和,程序中用进度条来表示计算的进程。页面中有两个文本框、两个按钮和一个进度条,在第一个文本框中输入要计算的自然数的个数,单击“开始”按钮则开始进行计算,进度条同步显示计算完成的情况。程序中存在若干错误,请找出并改正(注意:不得改动程序的结构,不得增行或删行)。 import javax.swing.*; import javax.swing.border.*; import java.awt.*; import java.awt.event.*; public class advance extends Japplet Container container = null; JButton startButton,stopButton; JTextField inputTextField,outputTextField; JProgressBar pBar = null; Timer timer = null; static int sum = 0; static int counter = 0; public void init() container = this.getContentPane(); container.setLayout(new GridLayout(3,1)); Box hboxl = Box.createHorizontalBox(); container.add(hboxl); hboxl.add(Box.createHorizontalGlue()); JLabel labell = new JLabel("前",JLabeI.LEFT); labell.setFont(new Font("Dialog",Font.PLAIN,15)); hboxl.add(labell); inputTextField = new JTextField("100",4); hboxl.add(inputTextField); JLabel label2 = new JLabel("个自然数和是",JLabel.LEFT); label2.setFont(new Font("Dialog",Font.PLAIN,15)); hboxl.add(label2); outputTextField = new JTextField(10); hboxl.add(outputTextField); hboxl.add(Box.createHorizontalGlue()); Box hbox2 = Box.createHorizontalBox(); container.add(hbox2); startButton : new JButton("开始"); startButton.addActionListener(new ButtonListener()); hbox2.add(Box.createHorizontalGlue()); hbox2.add(startButton); hbox2.add(Box.createHorizontalGlue()); stopButton = new JButton("结束"); stopButton.addActionListener(new ButtonListener() ; hbox2.add(Box.createHorizontalGlue()); hbox2.add(stopButton); hbox2.add(Box.createHorizontalGlue()); pBar = new JProgressBar(); pBar.setStringPainted(true); Border border = BorderFactory.createLineBorder(Color.red,2); pBar.setBorder(border); pBar.setBackground(Color.white); pBar.setForeground(Color.blue); pBar.setMinimum(0); pBar.setMaximum(Integer.parseInt(inputTextField.getText())); container.add(pBar); timer = new Timer(0,TimerListener()); class TimerListener implements ActionListener public void actionPerformed(ActionEvent e) if (Integer.parseInt (inputTextField.getText ()) > 0) counter ++; sum = sum+counter; pBar.setValue (counter); outputTextField,setText (Integer.toString (sum)); else outputTextField,setText ("0"); if (counter >= Integer.parseInt(inputTextField.getText ())) timer,stop (); class ButtonListener implements ActionListener public void actionPerformed(ActionEvent e) JButton button = e.getSource(); if (button.getText () == "开始") outputTextField,setText (""); if (inputTextField.getText() != " ") pBar.setMaximum (Integer.parseInt (inputTextField.getText ()) ); sum = 0 ; counter = 0; timer.begin (); else if (button.getText () =="结束") timer,stop (); outputTextField,setText (""); sum = 0; counter = 0; pBar.setValue(0);
问答题System.out.println("IO 错误:" + e.getMessage());
问答题注意:下面出现的“考生文件夹”均为%USER%。在考生文件夹中存有文件名为Java_1.java文件,请完善Java_1.java文件,并进行调试,使程序运行后输出窗口如下:由于Java_1.java文件不完整,请在注释行“//*********Found*********”下一行语句的下画线地方填入正确内容,然后删除下画线,请勿删除注释行或其他已有语句内容。存盘时,文件必须存放在考生文件夹下,不得改变原有文件的文件名。给定源程序:importjavax.swing.*;importjava.text.DecimalFormat;publicclassJava_1{//*********Found**********publicstatic______main(Stringargs[]){SimpleTimet=newSimpleTime(12,30,19);//*********Found**********______.showMessageDialog(null,t.buildString(),""this"引用示范",JOptionPane.INFORMATION_MESSAGE);System.exit(0);}}classSimpleTime{privateinthour,minute,second;publicSimpleTime(inthour,intminute,intsecond){this.hour=hour;this.minute=minute;this.second=second;}publicStringbuildString(){//*********Found**********return"this.toString():"+______()+"/ntoString():"+toString()+"/nthis(withimplicittoString()call):"+this;}publicStringtoString(){DecimaIFormattwoDigits=newDecimalFormat("00");returntwoDigits.format(this.hour)+":"+twoDigits.format(this.minute)+":"+twoDigits.format(thissecond);}}
问答题下面是一个Applet程序,程序的功能输出一个彩色窗体。请改正程序中的错误(有下划线的语句),使程序能输出正确结果。注意:不改动程序的结构,不得增行或删行。程序的输出结果为:importjava.awt.*;importjava.awt.image.*;importjava.applet.Applet;publicclassMemoryImageextendsAppletImageimg;publicvoidinit()Dimensiond=getSize();intw=d.width,h=d.height;intpix[]=newint[w*h];intindex=0;for(inty=0;y<h;y++)for(intx=0;x<w;x++)intred=(x|y)intgreen=(x*2|y*2)intblue=(x*4|y*4)pix[index++]=(255<<24)|(red<<16)|(green<<8)|blue;img=createImage(newFilteredImageSource(w,h,pix,0,w));publicvoidpaint(Graphicsg)g.drawImage(img,0,0,super);ex36_3.html:<html><head><title>ASimpleProgram</title></head><body><appletcode="MemoryImage.class"width=800height=400></applet></body></html>
问答题下面是一个Applet程序,其功能是在绘图区域中通过鼠标的移动来绘制直线,并且有清除绘图区域按钮,用来清除已经绘制的图像。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。注意:不改动程序的结构,不得增行或删行。程序运行结果如下:import.java.awt.*;import.java.applet.*;/*<appletcode=exl_3.classwidth=800height=400></applet>*/publicclassexl_3extendsApplet{privateButtonbtn;privateBooleanbDraw,bClear;privateintupX,upY,downX,downY;publicvoidinit(){setLayout(null);bClear=false;bDraw=false;btn=newButton(”clear”);btn.reshape(250,150,70,30);add(btn);}publicvoidpaint(Graphicsg){if(bClear){g.clearRect(0,0,getSize().width,getSize().height);bClearr=false;}if(bDraw){{{U}}g.drawLine(upY,upX,downY,downX){{/U}}bDraW=false;}}publicvoidupdate(Graphicsg){paint(g);}PublicbooleanmouseDown(Eventevent,intx,inty){downX=x;downY=y;returntrue;}publicbooleanmouseUp(Eventevent,intx,inty){upX=x;upY=y;{{U}}bDraw=false;{{/U}}repaint();returntrue;}publicbooleanaction(Eventevent,ObjectObject){if({{U}}event.target!=clear{{/U}}){bClear=true;repaint()}returntrue;}}ex1_3.html<HTML><HEAD><TITLE>ex1_3</TITLE></HEAD><BODY><appletcode="exl_3.class"width=800height=400></applet></BODY></HTML>
问答题在上题中要求输入文件名,它只声明所输入文件名是否存在的异常而没有处理。请在横线处填上适当的子句,使其能捕获异常并正确执行。
import java.io.*;
public class BException{
public static void main(String[]args){ //获得文件名
BufferedReader stdin=new BufferedReader(new InputStreamReader(System.in));
System.out.print("Filename:");
String s=stdin.readLine();
BufferedReader filein=null; //为处理组织文件流
try{
filein=new BufferedReader(new FileReader(s));
} ______{
System.err.println(s+":cannot be opened for reading");
System.exit(0);
}
int numerator=Integer.parseInt(filein.readLine()); //提取值和计算商
int denominator=Integer.parseInt(filein.readLine());
int quotient=numerator/denominator;
System.out.println();
System.out.println(numerator+"/"+denominator+"="+quotient);
return;
}
}
问答题本程序的目的是在屏幕上显示当前目录下的文件信息。文件信息通过表格JTable的实例显示。请更正题中带下划线的部分,使程序能输出正确的结果。
注意:不改变程序的结构,不得增行或删行。
import java.awt.*;
import javax.swing.*;
import java.util.Date;
import javax.swing.table.*;
import java.applet.*;
import java.io.*;
public class advance {{U}}extends JApplet, JFrame{{/U}}
{
public void init()
{
FileModel fm=new FileModel();
JTable jt=new {{U}}JTable(){{/U}};
jt.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
jt.setColumnSelectionAllowed(true);
JScrollPane jsp=new JScrollPane(jt);
getContentPane().add(jsp, BorderLayout.CENTER);
}
public static void main(String args[])
{
advance ft=new advance();
ft.init();
JFrame f=new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.getContentPane().add(ft.getContentPane());
f.setSize(300,400);
f.show();
}
}
class FileModel extends AbstractTableModel
{
String[] columnName=new String[] {
"文件名","大小","最后修改时间"
};
Object[][] data;
public FileModel() {this(".");}
public FileModel(String dir)
{
File file=new File(dir);
String files[]=file.list();
data=new Object[files.length] [columnName.length];
for(int i=0; i<files.length; i++)
{
File tmp=new File(files[i]);
data[i] [0]=tmp.getName();
data[i] [1]=new Long(tmp.length());
data[i] [2]=new Date(tmp.lastModified());
}
}
public int {{U}}getColumnNumber{{/U}}()
{
return columnName.length;
}
public int getRowCount()
{
return data.length;
}
public String getColumnName(int col)
{
return columnName[col];
}
public Object getValueAt(int row, int col)
{
return data[row] [col];
}
public Class getColumnClass(int c)
{
return getValueAt(0,c).getClass();
}
}
问答题本题的功能是监听对于列表项的操作。窗口中有一个列表和三个按钮“添加”、“删除”和“关闭”。单击“添加”按钮,则会在当前所选列表项后添加一个名为“新增表项”的列表项,同时后台输入列表中的表项数量。单击“删除”按钮后,如果未选中表项,则弹出提示消息框“请选择表项”。否则将选中的表项删除,同时后台输出删除表项的内容和列表中的表项数量。单击“关闭”按钮退出程序。 import java.awt.*; import java.awt.event.*; import javax.swing.JOptionPane; public class java3 public static void main(String args[]) final Frame frmFrame=new Frame(); Panel pnlPanel1=new Panel(); Panel pnlPanel2=new Panel(); final List lstList=new List(8); for(int i=0;i<10;i++) String strName="表项"+(new Integer(i+1)).toString(); lstList.add(strName); Button btnButton1=new Button("添加"); Button btnButton2=new Button("删除"); Button btnButton3=new Button("关闭"); btnButton1.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) lstList.add("新增表项",lstList.getSelected()+1); System.out.println("列表中的表项数量:"+lstList.getItemCount()); ); btnButton2.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) if(lstList.getSelected()==null) JOptionPane.showMessageDialog(frmFrame,"请选择表项"); return; System.out.println("删除表项的内容:"+lstList.getSelectedItem()); lstList.delete(lstList.getSelectedIndex()); System.out.println("列表中的表项数量:"+IstList.gethemCount()); ); btnButton3.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) System.exit(0); ); pnlPanel1.add(lstList); pnlPanel2.add(btnButton1); pnlPanel2.add(btnButton2); pnlPanel2.add(btnButton3); frmFrame.add("North",pnlPanel1); frmFrame.add("South",pnlPanel2); frmFrame.setTitle("java3"); frmFrame.pack(); frmFrame.show();
问答题本程序分别比较两个字符串"A"和"a"是否相等,并比较两个字符'A'和'a'是否相等,并输出比较结果。
public class exam_47{
public static void main(String[] args) {
______;
c1='A'; c2='a';
String str1=new String("A"), str2=new String("a");
if(______)
System.out.println(c1+"equals"+c2);
else
System.out.println(c1+"doesn't equal"+c2);
if(______)
System.out.println(str1+"equals"+str2);
else
System.out.println(str1+"doesn't equal"+str2);
}
}
问答题本程序采用递归的方法计算n!(n=8)。
public class exam_12{
static long Fac(______){
if(______)
return 1;
else
______;
}
public static void main(String[] args){
int n=8;
System.out.println(n+"!="+Fac(n));
}
}
问答题本程序的功能是通过菜单打开一个图像文件。窗口中有一个“File”菜单,其中包括“Open”和“Exit”菜单项,单击“Open”菜单项可弹出一个打开对话框,选中一个图像文件后单击“打开”按钮返回主窗口,则选中的图像文件显示在窗口中。单击“Exit”菜单项可退出程序,如图所示。importjavaoaWt.*;importjava.awt.event.*;importjava.io.*;importjavax.swing.*;publicclassexam_19{publicstaticvoidmain(String[]args){JFrameframe=newImageViewerFrame();frame.setDefaultCloseOperation(JFrame.EXITONCLOSE);frame.show();}}classImageViewerFrameextendsJFrame{publicImageViewerFrame(){setTitle("exam_19");setSize(DEFAULT_WIDTH,DEFAULTHEIGHT);label=newJLabel();ContainercontentPane=getContentPane();contentPane.add(label);chooser=newJFileChoose();chooser.setCurrentDirectory(newFile("."));JMenuBarmenuBar=newJMenuBar();setJMenu(menuBar);JMenumenu=newJMenu("File");menuBar.add(menu);JMenuItemopenItem=newJMenuItem("Open");menu.add(openItem);openItem.addActionListener(newActionListener(){publicvoidactionPerforme(ActionEventevt){intr=chooser.showOpenDialog(null);if(r==JFileChooser.APPROVE_OPTION){Stringname=chooser.getSelectedFile().getPath();label.setIcon(newImageIcon(name));}}});JMenuItemexitItem=newJMenuItem("Exit");menu.add(exitItem);exitItem.addActionListener(newActionListener(){publicvoidactionPerformed(ActionEventevent){System.exit(0);}});}privateJLabellabel;privateJFileChooserchooser;privatestaticfinalintDEFAULTWIDTH=300;privatestaticfinalintDEFAULTHEIGHT=400;}
问答题System.out.println("Number of days:"+ nNumOfDays);
问答题程序如下:∥计算两个整数的乘法Java_1.javaimportjavax,swing.JOptionPane;publicclassJava_1{publicstaticvoidmain(Stringargs[]){intx,y,result;StringxVal,yVal;xVal=JOptionPane.showInputDialog("输入第1个整数:");yVal=JOptionPane.showInputDialog("输入第2个整数:");∥**********Found**********x=Integer.parseInt({{U}}(1){{/U}});y=Integer.parseInt(yVal);result=x*y;∥**********Found**********JOptionPane.{{U}}(2){{/U}}(null,"两个数的积:"+result);System.exit(0);}}