版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一阅读分析下面程序,将程序中的代码补充完整,并回答问题。1/ FirstApplet.javaimport java.applet.*; import java.awt.*;public class FirstApplet extends Applet public void paint(Graphics g) 【代码:g.setColor(Color.blue);】 /将当前字体颜色设置为蓝色 g.drawString("这是一个Java Applet 程序",10,30); /在Java Applet中绘制一行文字:“这是一个Java Applet 程序” 【代码:g.
2、setColor(Color.red);】 /将当前字体颜色设置为红色 g.setFont(new Font("宋体",Font.BOLD,36); 【代码:g.drawString(“我改变了字体”,10,100);】/在Java Applet中坐标(10,100)处绘制一行文字:“我改变了字体” (1) 将源文件保持为FirstApplet.java,编译源文件。编译命令:【代码javac FirstApplet】(2) 编写一个html文件FirstApplet.html,将该文件和源程序保持在同一目录下。文件内容如下: <html> <applet
3、 code="【代码】" height=300 width=400> </applet> </html>(3) 若用appletviewer打开FirstApplet.html文件。运行命令为:【代码appletviewer FirstApplet】2. 要求:从键盘输入任意两个实数,比较两个数字的大小,将较大的数输出。数据输入和输出用Java的标准输入流和输出流来实现。阅读分析下面程序,将程序中的代码补充完整,实现数据比较功能。import java.util.Scanner;public class CompareTwoNumbers do
4、uble number1,number2;Scanner scanner;public CompareTwoNumbers()System.out.println("请输入两个数字:");scanner=new Scanner( 代码1:system.in );/实例化一个Scanner对象;number1= 代码2 :scanner.nextDouble() ;/从键盘输入一个实数赋值给number1;number2= 代码3 :scanner.nextDouble(); ;/ 从键盘输入一个实数赋值给number2;System.out.println("较大
5、的数值是:"+ 代码4 :Math.max(number1,number2) );/将number1和number2中的较大值输出;public static void main(String args)CompareTwoNumbers ct=new CompareTwoNumbers ();System.exit(0); 3猜数字游戏阅读分析下面程序,将程序中的代码补充完整,编辑运行查看结果。/GuessNumber.javaimport javax.swing.JOptionPane;public class GuessNumber public static void mai
6、n (String args ) System.out.println("给你一个1至100之间的整数,请猜测这个数"); int realNumber=(int)(Math.random()*100)+1; int yourGuess=0; String str=JOptionPane.showInputDialog("输入您的猜测:"); yourGuess=Integer.parseInt(str); while(【代码1 : yourGuess != realNumber】) /循环条件 if(【代码2 : yourGuess > real
7、Number】) /条件代码 str=JOptionPane.showInputDialog("猜大了,再输入你的猜测:"); yourGuess=Integer.parseInt(str); else if(【代码3 : yourGuess < realNumber】) /条件代码 str=JOptionPane.showInputDialog("猜小了,再输入你的猜测:"); yourGuess=Integer.parseInt(str); System.out.println("猜对了!"); 4String类的常用方法。
8、阅读分析下面程序,把程序中的代码补充完整,并查看结果。/StringExample.javaclass StringExample public static void main(String args) String s1=new String("you are a student"), s2=new String("how are you"); if(【代码1 :s1.equals(s2)】) / 使用equals方法判断s1与s2是否相同 System.out.println("s1与s2相同"); else System.ou
9、t.println("s1与s2不相同"); String s3=new String("22030219851022024"); if(【代码2 :s3.startWith(“220302”)】) /判断s3的前缀是否是“220302”。 System.out.println("吉林省的身份证"); String s4=new String("你"), s5=new String("我"); if(【代码3 :pareTo(s5) > 0】)/按着字典序s4大于s5的表达式。 Syste
10、m.out.println("按字典序s4大于s5"); else System.out.println("按字典序s4小于s5"); int position=0; String path="c:javajspA.java" String fileName=【代码4 :path.concat(“A.java”);】/获取path中“A.java”子字符串。 System.out.println("c:javajspA.java中含有的文件名:"+fileName); String s6=new String(&q
11、uot;100"), s7=new String("123.678"); int n1=【代码5 :Integer.parseInt(s6);】 /将s6转化成int型数据。 double n2=【代码6 :Double.parseDouble(s7);】 /将s7转化成double型数据。 double m=n1+n2; System.out.println(m); String s8=【代码7 :String.valueOf(m);】 /String调用valuOf(int n)方法将m转化为字符串对象 position=s8.indexOf(".&
12、quot;); String temp=s8.substring(position+1); System.out.println("数字"+m+"有"+temp.length()+"位小数") ; String s9=new String("ABCDEF"); char a=【代码8 :s9.toCharArray();】 /将s9存放到数组a中。 for(int i=a.length-1;i>=0;i-) System.out.print(" "+ai); 5掌握嵌套类和内部类的概念和用
13、法编写一个程序要求定义一个外部类Outer,然后在Outer类中定义一个内部类Inner和局部类Local,内部类Inner和局部类Local的任务都是显示出外部类中的数组元素,然后求出这些数组元素的平均值。请按模版要求,将代码补充完整。class Outer private int data;Outer(int x) data = x;void checkInner() Inner innerObj = new Inner();【补充代码 : innerObj.show();】 / 调用Inner对象的show()方法System.out.println("内部类计算的平均值: &
14、quot; + innerObj.average();void checkLocal() class Local void show() System.out.print("从局部类显示数组元素:");for (int i = 0; i < data.length; i+) System.out.print(datai + " ");System.out.println();int average() int sum = 0;for (int i = 1; i < data.length; i+) sum += datai;【补充代码 ret
15、urn (sum/data.length);】 / 返回data数组的平均值Local localObj = new Local();localObj.show();System.out.println("局部类计算的平均值: " + localObj.average();class Inner void show() System.out.print("从内部类显示数组元素:");for (int i = 0; i < data.length; i+) 【补充代码 system.out.print(“ “ + datai);】 / 打印data数
16、组的每个元素System.out.println();int average() int sum = 0;for (int i = 1; i < data.length; i+) sum += datai;return sum / data.length;public class InnerClassTest public static void main(String args) int a = 6, 8, 9, 22, 34, 7, 2, 1, 15 ;Outer outerObj = new Outer(a);outerObj.checkInner();【补充代码 outerObj
17、.checkLocal();】 / 调用outerObj对象的checkLocal方法6通过一个简单的例子理解多态的概念/* * 人民警察 */public interface IPolice /* * 抓小偷 */ public void catchThief();/* * 一个警察,执行抓小偷任务. */public class PoliceReal implements IPolice public void catchThief() System.out.println("抓住小偷了"); /* * 另一个警察,也执行抓小偷任务. */public class Po
18、liceHyp implements IPolice public void catchThief() System.out.println("大冷天的抓什么小偷啊,不如偷个菜."); /* * 市民 */public class Citizen private String mName; public Citizen(String name) mName = name; /* * 市民报案 */ public void report(IPolice police) System.out.println(String.format("市民%s丢失手机,向警察报案抓
19、小偷.", mName); police.catchThief(); 案情:市民虽然向警察报了案, 但你不知道能不能把小偷抓住, 甚至你都不知道他们有没有去抓小偷, 还有可能你在电影里看到的剧情真的发生了. 事情经过可能是这样:public class Main public static void main(String args) Citizen citizen = new Citizen("张三"); IPolice police = getPolice(); citizen.report(police); private static IPolice ge
20、tPolice() return new PoliceReal(); 事情结果一:市民张三丢失手机,向警察报案抓小偷.抓住小偷了事情经过也可能是这样:public class Main public static void main(String args) Citizen citizen = new Citizen("张三"); IPolice police = getPolice(); citizen.report(police); private static IPolice getPolice() return new PoliceHyp(); 事情结果二:市民张三
21、丢失手机,向警察报案抓小偷.大冷天的抓什么小偷啊,不如偷个菜.事情经过还可能是这样:public class Main public static void main(String args) Citizen citizen = new Citizen("张三"); IPolice police = getPolice(); citizen.report(police); private static IPolice getPolice() return new PoliceReal() Override public void catchThief() System.ou
22、t.println("抓小偷?笑话,抓了小偷我哪儿收保护费去啊."); ; 事情结果三:市民张三丢失手机,向警察报案抓小偷.抓小偷?笑话,抓了小偷我哪儿收保护费去啊.7阅读并分析以下程序,将程序中的代码补充完整。public class CalendarFrame extends Frame implements ActionListener Label labelDay=new Label42; Button titleName=new Button7; String name="日","一","二","
23、;三", "四","五","六" Button nextMonth,previousMonth; int year=2006,month=10; CalendarBean calendar; Label showMessage=new Label("",Label.CENTER); public CalendarFrame() Panel pCenter=new Panel(); 【代码1 :pCenter.setLayout(new GridLayout(7,7);】 /将pCenter的布局设置为7行
24、7列的GridLayout 布局。 for(int i=0;i<7;i+) titleNamei=new Button(namei); 【代码2 : pCenter.add(titleNamei);】/pCenter添加组件titleNamei。 for(int i=0;i<42;i+) labelDayi=new Label("",Label.CENTER); 【代码3 : pCenter.add(labelDayi);】/pCenter添加组件labelDayi。 calendar=new CalendarBean(); calendar.setYear(y
25、ear); calendar.setMonth(month); String day=calendar.getCalendar(); for(int i=0;i<42;i+) labelDayi.setText(dayi); nextMonth=new Button("下月"); previousMonth=new Button("上月"); nextMonth.addActionListener(this); previousMonth.addActionListener(this); Panel pNorth=new Panel(), pSou
26、th=new Panel(); pNorth.add(previousMonth); pNorth.add(nextMonth); pSouth.add(showMessage); showMessage.setText("日历:"+calendar.getYear()+"年"+ calendar.getMonth()+"月" ); ScrollPane scrollPane=new ScrollPane(); scrollPane.add(pCenter); 【代码4 :add(“Center”,scollPane);】/ 窗口添加
27、scrollPane在中心区域 【代码5 :add(“North”,pNorth);】/ 窗口添加pNorth 在北面区域 【代码6 :add(“South”,pSouth);】/ 窗口添加pSouth 在南区域。 public void actionPerformed(ActionEvent e) if(e.getSource()=nextMonth) month=month+1; if(month>12) month=1; calendar.setMonth(month); String day=calendar.getCalendar(); for(int i=0;i<42;
28、i+) labelDayi.setText(dayi); else if(e.getSource()=previousMonth) month=month-1; if(month<1) month=12; calendar.setMonth(month); String day=calendar.getCalendar(); for(int i=0;i<42;i+) labelDayi.setText(dayi); showMessage.setText("日历:"+calendar.getYear()+"年"+calendar.getMon
29、th()+"月" ); 8使用滚动条改变背景颜色程序功能:移动滚动条可以改变背景颜色。阅读并分析以下程序,将程序中的代码补充完整。public class KY7_2 extends Applet implements AdjustmentListener Scrollbar r1, r2, r3;int red, green, blue;TextField t;Label a;public void init() setLayout(null);r1 = new Scrollbar(Scrollbar.HORIZONTAL, 0, 1, 0, 255);r2 = new
30、Scrollbar(Scrollbar.HORIZONTAL, 0, 1, 0, 255);r3 = new Scrollbar(Scrollbar.HORIZONTAL, 0, 1, 0, 255);t = new TextField("0", 5);t.setEditable(false);a = new Label("移动滚动条可改变背景颜色", Label.CENTER);add(a);a.setBounds(120, 10, 150, 15); 代码1 :add(r1) ; /添加滚动条r1r1.setBounds(20, 30, 100, 2
31、0); 代码2 :add(r2) ; /添加滚动条r2r2.setBounds(140, 30, 100, 20); 代码3 :add(r3) ; /添加滚动条r3r3.setBounds(260, 30, 100, 20);add(t);t.setBounds(20, 120, 220, 18);r1.addAdjustmentListener(this); 代码4 :r2.addAdjustmentListener(this) ; 代码5 :r3.addAdjustmentListener(this) ;public void adjustmentValueChanged(Adjustme
32、ntEvent e) red = r1.getValue(); 代码6 :green = r2.getValue() ; 代码7 :blue = r3.getValue() ; t.setText("red 的值" + String.valueOf(r1.getValue() + ",green 的值"+ String.valueOf(r2.getValue() + ",blue 的值"+ String.valueOf(r3.getValue();Color c = new Color(red, green, blue); 代码8 :
33、setBackground(c) ; /设置背景色9创建电闪雷鸣的动画程序功能:本程序可以通过按钮控制声音和动画的开始和停止操作。动画显示了电闪雷鸣的场面。注意:图像文件要分别表现不同时间段的电闪场面,这样才会有动画效果。阅读并分析以下程序,将程序中的代码补充完整。import java.awt.*;import java.applet.*;import java.awt.event.*;public class KY7_3 extends Applet implements Runnable, ActionListener Image iImages; / 图像数组Thread aThrea
34、d;int iFrame; / 图像数组下标AudioClip au; / 定义一个声音对象Button b1, b2;public void init() int i, j;iFrame = 0;aThread = null;iImages = new Image10;for (i = 0; i < 10; i+) iImagesi = getImage(getCodeBase(), "images/" + "tu" + (i + 1)+ ".JPG");au = getAudioClip(getDocumentBase(),
35、 "Wav/receivemedia.au"); 代码1 :au.play(); / 播放一次声音文件Panel p1 = new Panel();b1 = new Button("开始");b2 = new Button("停止");p1.add(b1);p1.add(b2);b1.addActionListener(this);b2.addActionListener(this);setLayout(new BorderLayout();add(p1, "South");public void start()
36、if (aThread = null) aThread = new Thread(this); 代码2 :aThread.star(); / 线程启动b1.setEnabled(false);public void stop() if (aThread != null) 代码3 :aTerrupt(); / 线程中断aThread = null; 代码4 :au.stop(); / 停止播放声音文件public void run() while (true) iFrame+;iFrame %= (iImages.length); / 下一幅图像的下标repaint();try
37、 Thread.sleep(100); catch (InterruptedException e) / 中断时抛出break; / 退出循环public void update(Graphics g) g.drawImage(iImagesiFrame, 0, 0, this);public void actionPerformed(ActionEvent e) if (e.getSource() = b1) && (aThread = null) / 单击 Start 按钮时触发aThread = new Thread(this); 代码5 :aThread.star();
38、 / 线程启动b1.setEnabled(false);b2.setEnabled(true); 代码6 :au.loop(); / 循环播放声音文件if ( 代码7 :au.stop(); ) / 单击 Stop 按钮时触发aTerrupt(); / 线程中断aThread = null;b1.setEnabled(true);b2.setEnabled(false);au.stop(); / 停止播放声音文件10要求设计一个能通过Runnable接口实现多线程动态地显示时间的Applet程序。阅读并分析以下程序,将程序中的代码补充完整,编译并运行程序,查看结果。impor
39、t javax.swing.*; / Jappletimport java.util.*; / Calendarimport java.awt.*; / Graphicspublic class AppletThreaded extends JApplet 代码1 :implements Runnable Thread appletThread; int hours, mins, secs; Boolean stopFlag;/ applet的start( )方法 public void start() appletThread = new Thread(this); 代码2 :appletT
40、hread.star(); ; /启动线程 stopFlag=false; / 线程的run( )方法 public void run() while (true) try 代码3 :Thread.sleep(1000) ; 让线程休眠时间为1000 catch(InterruptedException exception) exception.printStackTrace(); /产生一个代表当前时间的Calendar子类的实例 Calendar time = Calendar.getInstance(); hours = time.get(Calendar.HOUR); mins = t
41、ime.get(Calendar.MINUTE); secs = time.get(Calendar.SECOND); System.out.println("秒 : " + secs); 代码4 :repaint(); ; /刷新显示时间 if(stopFlag) break; public void stop() stopFlag=true; public void paint(Graphics g) super.paint(g); g.drawString(String.valueOf(hours) + ":" + String.valueOf(m
42、ins) + ":" + String.valueOf(secs), 50 , 50); 11编写一个应用程序,除了主线程外,还有两个线程:first和second。first负责模拟一个红色的按钮从坐标(10,60)运动到(100,60);second负责模拟一个绿色的按钮从坐标(100,60)运动到(200,60)。阅读并分析以下程序,将程序中的代码补充完整。/MoveButton.javaimport java.awt.*;import java.awt.event.*;public class MoveButton extends Frame implements
43、Runnable,ActionListener 【代码1:Thread first,second;】 /用Thread类声明first,second两个线程对象 Button redButton,greenButton,startButton; int distance=10; MoveButton() 【代码2 :first = new Thread ();】 /创建first线程,当前窗口做为该线程的目标对象 【代码3 : second = new Thread ();】 /创建second线程,当前窗口做为该线程的目标对象 redButton=new Button(); greenBut
44、ton=new Button(); redButton.setBackground(Color.red); greenButton.setBackground(Color.green); startButton=new Button("start"); startButton.addActionListener(this); setLayout(null); add(redButton); redButton.setBounds(10,60,15,15); add(greenButton); greenButton.setBounds(100,60,15,15); add(
45、startButton); startButton.setBounds(10,100,30,30); setBounds(0,0,300,200); setVisible(true); validate(); addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ); public void actionPerformed(ActionEvent e) try first.start(); second.start(); catch(Exception exp
46、) public void run() while(true) if(【代码4 :Thead.currentThread() = first】) /判断当前占有CPU资源的线程是否是first moveComponent(redButton); try Thread.sleep(20); catch(Exception exp) if(【代码5 :Thread.currentThread() = second】) /判断当前占有CPU资源的线程是否是second moveComponent(greenButton); try Thread.sleep(10); catch(Exception exp) public synchronized void moveComponent(Component b) if(Thread.currentThread()=first) while(distance>100&&distance<=200) try wait(); catch(Exception exp) distance=distance+1; b.setLocation(distance,60); if
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 服务代理合作协议书
- 沧州市2025年数学四年级下学期期中检测模拟试题(含答案)
- 沂南县2025-2026学年数学四下期中复习检测试题(含答案)
- 2026年电气安全防护技术规程
- 2026年幼儿绘本阅读教学策略分析报告
- 汤原县2025届四年级数学第二学期期末复习检测试题含答案解析
- 2026年慢阻肺康复指导措施
- 2026年幼儿园教学调整策略
- 2026年幼儿园大班开学活动方案创意
- 2026年幼儿园室内室外活动
- 管理经济学第8版
- 《煤矿重大事故隐患判定标准》(2026版)解读
- 2026-2030中国安检设备行业市场深度调研及发展趋势与投资价值研究报告
- 泌尿系造口护理专家共识(2026版)
- 2025河北省中考真题数学试题(解析版)
- 2026沪教版(新教材)小学数学二年级下册(全册)教案、教学计划及进度表新版
- 2026人教版三年级下册道德与法治期末复习知识点总结梳理+教材问答解答
- 精神疾病 精神分裂数据集(编制说明)
- 电力重大事故隐患判定标准2026版解读
- 大学语文结业考试基础核心及答案
- 2025年山东财经大学燕山学院辅导员考试真题
评论
0/150
提交评论