精品java语言程序设计(郑莉)第九章课后习题答案

java抽奖程序  时间:2021-04-26  阅读:()

精品---

Java语言程序设计

第九章课后习题答案

1.编写一个程序该程序绘制一个5×9的网络使用dr awLin e方法。//NetWork类import java.awt.Graphics;import javax.swing.JFram e;public class NetWork extends JFrame{public NetWork(){

//设置窗体大小this.setSiz e(130, 130);

//设置窗体大小不可改变this.s etResiz able(fals e);

//设置默认关闭方式关闭窗体的同时结束程序this.setDefaultClo seOp eration(J Frame.EXIT_ON_CLOSE);

//将窗体显示出来this.s etVisible(t ru e);

}

//横纵格之间都间隔10像素起点在20,40public void paint(Graphics g){

//绘制横向线for(int i=0;i<=5;i++){g.drawLine(20,40+i*10, 110,40+i*10);

}

//绘制纵向线for(int i=0;i<=9;i++){g.drawLine(20+i*10,40,20+i*10,90);

}

}

}

//te st9_1类public class test9_1 {public static void main(String[] args){new NetWork();

}

}

运行结果

--精品

精品---

2.编写一个程序该程序以不同的颜色随机产生三角形每个三角形用不同的颜色进行填充。//Triangle类import java.awt.Color;import java.awt.Graphics;imp ort j ava.util.Random;import javax.swing.JFram e;public class Triangle extends JFrame{

Random rnd=new Random();

//这里定义4个三角形int[] []x=new int[4][3] ;int[] []y=new int[4] [3] ;int[] [] color=new int[4] [3];public Triangle(){for(int i=0;i<4;i++){for(int j=0;j<3;j++){color[i] [j]=rnd.nextInt(255);x[i] [j]=rnd.nextInt(i*100+100);y[i] [j]=rnd.nextInt(i*100+100)+50;//加50像素是为了避免顶到窗体上沿

}

}

//窗体标题thi s.s etTi tle("随机三角形");

//窗体大小this.setSiz e(500,500);

//窗体大小不可变this.s etResiz able(fals e);

//关闭窗体的同时结束程序this.setDefaultClo seOp eration(J Frame.EXIT_ON_CLOSE);

//显示窗体this.s etVisible(t ru e);

--精品

精品---

}public void paint(Graphics g){for(int i=0;i<4;i++){g.setColor(new Color(color[i] [0] ,color[i] [1] ,color[i] [2]));g.fillPo lygo n(x[i] ,y[i] ,3);

}

}

}

//te st9_2public class test9_2{public static void main(String[] args){new Triangle();

}

}

运行结果

--精品

精品---

3.编写一个Applet该程序请求用户输入圆的半径然后显示该圆的直径、周长和面积。//test9_3import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;public class test9_3 extends JApplet {

//声明5个标签private JLabel jLabel1;private JLabel jLabel2;private JLabel jLabel3;private JLabel jLabel4;private JLabel jLabel5;

//1个单行文本privat e JTextField t extOfRadius;

//2个按钮private JButton jButton1;private JButton jButton2;

//初始化public void init() {try{java.awt.EventQueue.invokeAndWait(n ew Runnable() {public void run() {initComponents();

}

});

} catch(Exception ex) {ex.printSta ckT ra ce();

}

}private void initComponents() {

//声明8个组件jLabel1=new JLabel("输入圆的半径 ",SwingConstants.CENTER);jLabel2=new JLabel("圆的周长 ",SwingConstants.CENTER);jLabel3=n ew JLabel("",SwingConstants.CENTER);jLabel4=new JLabel("圆的面积 ",SwingConstants.CENTER);

--精品

精品---jLabel5=new JLabel("",SwingConstants.CENTER);textOfRadius=n ew JTextFi eld("半径");jButton1=n ew JButton("计算");jButton2=n ew JButton("退出");

//按钮添加监听器jButton1.addActionListen er(n ew ActionListener() {public void actionPerformed(ActionEvent evt) {jButton1ActionPerfo rm ed(evt);

}

});

//按钮添加监听器jButton2.addActionListen er(n ew ActionListener() {public void actionPerformed(ActionEvent evt) {jButton2ActionP erfo rm ed(evt);

}

});

//声明定义内容面板并且设置其布局格式为 4行2列格子Container c=getContentPan e();c.setLayo ut(n ew GridLayo ut(4,2));

//将8个组件加入到内容面板c.add(jLabel1);c.ad d(t ex t O fRad iu s);c.ad d(j Lab el2);c.add(jLab el3);c.ad d(j Lab el4);c.add(jLabel5);c.add(j Butto n 1);c.add(j Butto n2);

}

//求周长方法private String Round(double a) {doubl e perimeter=a*2* 3.14;

String s=n ew String(String.valueOf(p erimeter));return s;

}

//求面积方法private String Area(double a) {double area=a*a*3.14;

--精品

精品---

String s=new String(String.valueOf(area));return s;

}

//点击“计算”按钮jB utton 1触发的方法private void jButton1ActionPerfo rmed(ActionEvent evt) {

//捕获单文本输入非数字的异常try{

String s=t extO fRadi us.getT ext();//获得单文本字符double a=Double.valueOf(s).floatValue();//字符转化为双精度j Lab el3.s etT ext(Round(a));//标签内容为周长jLab el5.s etT ext(Area(a));//标签内容为面积

} catch(NumberFormatException r) “{

//单文本为非数字弹出提示 输入错误”框

JOptionPan e.sh owMessageDialog(this, "请输入数字类型", "输入错误",JOptionPane.WARNING_MESSAGE);textO fRadius.s et Text("");

}

}

//点击“退出”按钮jB utton2触发的方法public void jButton2ActionPerformed(ActionEvent evt) {

System.exit(0);

}

}

运行结果

--精品

精品---

编译text9_3.java产生字节码文件test9_3.class接下来需要编写一个

HTML文件text9_3.html来嵌入text9_3.clas s代码如下

<html>

<applet code="test9_3.class">

</applet>

</html>

将test9_3.html文件和test9_3.class文件放在同一个目录下在浏览器中打开这个test9_3.html文件实现的效果如下

4.编写一个Applet 向其输入五个数然后以条形图bar graph的形式来表示这些数。

5.编写一个绘制圆形的程序当鼠标在绘制区域中单击时该正方形的左上角顶点应准确的跟随鼠标光标移动重绘该圆形。

//MyJFrame类

--精品

精品---import java.awt.Graphics;import java.awt.event.Mous eEvent;import java.awt.event.Mous eListener;import javax.swing.JFram e;public class MyJFrame extends JFrame implements MouseListener{int x=50;int y=50;int radius=50;public MyJFrame(){thi s.s etTi tle("绘制圆形");this.setSiz e(200,200);this.s etResiz able(fals e);this.setDefaultClo seOp eration(J Frame.EXIT_ON_CLOSE);this.addMous eLis ten er(t his);this.s etVisible(t ru e);

}public void paint(Graphics g){g.drawOval(x,y, radi us,r adius);

}public void mouseClicked(Mous eEvent e) {

//TO DO Auto-generated m ethod stubthi s.x=e.getX();thi s.y=e.getY();this.rep aint();

Sys te m.o ut.p rintln("x: "+e.getX()+"\ny: "+e.getY());}public void mouseEntered(Mous eEvent e) {

//TO DO Auto-generated m ethod stub

}public void mouseExited(MouseEvent e) {

//TO DO Auto-generated m ethod stub

}public void mousePressed(Mous eEvent e) {

//TO DO Auto-generated m etho d stub

--精品

精品---

}public void mouseReleas ed(MouseEvent e) {

//TO DO Auto-generated m ethod stub

}

}

//te st9_5public class test9_3 {public static void main(String[] args){new MyJFrame();

}

}

运行结果

6.编写一个“猜数”程序该程序随机在1到100的范围内选择一个供用户猜测的整数然后改程序显示提示信息要求用户输入一个1到100之间的整数根据输入偏大、偏小、正确程序将显示不同的图标。

//GuessNumber类import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;imp ort j ava.util.Random;import j avax.swing.JB utton;

--精品

atcloud:480G超高防御VPS低至$4/月,美国/新加坡等6机房,512m内存/1核/500g硬盘/不限流量

atcloud主要提供常规cloud(VPS)和storage(大硬盘存储)系列VPS,其数据中心分布在美国(俄勒冈、弗吉尼亚)、加拿大、英国、法国、德国、新加坡,所有VPS默认提供480Gbps的超高DDoS防御+不限流量,杜绝DDoS攻击骚扰,比较适合海外建站等相关业务。ATCLOUD.NET是一家成立于2020年的海外主机商,主要提供KVM架构的VPS产品、LXC容器化产品、权威DNS智能解...

丽萨主机:美国CN2 GIA精品网/KVM/9折,美国原生IP,最低27元/月

丽萨主机怎么样?丽萨主机,团队于2017年成立。成立之初主要做的是 CDN 和域名等相关业务。最近开辟新领域,新增了独立服务器出租、VPS 等业务,为了保证业务质量从一开始就选择了中美之间的 CN2 GIA 国际精品网络,三网回程 CN2 GIA,电信去程 CN2 GIA + BGP 直连智能路由,联通移动去程直连,原生IP。适合对网络要求较高的用户,同时价格也比较亲民。点击进入:丽萨主机官方网站...

inux国外美老牌PhotonVPS月$2.5 ,Linux系统首月半价

PhotonVPS 服务商我们是不是已经很久没有见过?曾经也是相当的火爆的,我们中文习惯称作为饭桶VPS主机商。翻看之前的文章,在2015年之前也有较多商家的活动分享的,这几年由于服务商太多,乃至于有一些老牌的服务商都逐渐淡忘。这不有看到PhotonVPS商家发布促销活动。PhotonVPS 商家七月份推出首月半价Linux系统VPS主机,首月低至2.5美元,有洛杉矶、达拉斯、阿什本机房,除提供普...

java抽奖程序为你推荐
设置xpeacceleratoraccess violation问题的解决办法!css3圆角如何用CSS实现圆角矩形?windows键是哪个windows 快捷键 大全iexplore.exe应用程序错误iexplore.exe应用程序错误tcpip上的netbios禁用tcp/ip上的netbios对网络应用软件的正常运行有没有影响?迅雷下载速度为什么现在迅雷下载的速度比原来慢得多?routeaddRout add -p在网络中是什么意思?Route add Cp又是什么意思?morphvoxpro教程morphvox是什么 morphvox怎么使用 morphvox设置方法安卓4.4.4android4.4和android4.4.4是一样的系统吗
瓦工 电影服务器 59.99美元 主机屋免费空间 淘宝双十一2018 阿里云代金券 免费ftp站点 cdn联盟 老左来了 如何安装服务器系统 彩虹云 linode支付宝 新加坡空间 主机返佣 云销售系统 tracker服务器 windowsserverr2 优惠服务器 godaddy域名 pptpvpn 更多