【实验目的】
Java Applet程序学习
【实验要求】
- 编写一个简单的Java Applet程序,并在Java Applet中写两行文字: “这是一个Java Applet程序”和“我改变了字体”.
实验后的练习:
1) 程序中的主类如果不用public修饰,编译能通过吗?
2) 程序中的主类如果不用public修饰,程序能正确运行吗?
3) 程序将paint方法误写成Paint,编译能通过么?
4) 程序将paint方法误写成Paint,运行时能看到有关的输出信息吗?
- 在Eclipse平台中实现下列简单的程序:
1)、编写控制台程序输出1–200之间的所有素数。
2)、嵌套循环(for + while)实现1!+2!+3!+ … 9!即阶乘之和。(如果能采用递归算法实现阶乘,再调用此函数实现求和,更妙)
3)、尝试用applet编写程序实现摄氏温度和华氏温度的转换。
4)、利用if语句实现阶梯电费的问题:用电量240度以下(包含240度)每度电0.55元,用电量在240-540度之间,超出240度电的部分按0.70元计算,用电量超过540度电,超出540度电的部分按照0.95元计算。(仅保留小数点后两位)
注:可利用swing.JOptionPane来实现
【实验具体内容】
实验1
编写一个简单的Java Applet程序,并在Java Applet中写两行文字: “这是一个Java Applet程序”和“我改变了字体”
(1)实验源代码:
import java.applet.*;
import java.awt.*;
public class MyFirstApplet extends Applet
{
public void paint (Graphics g)
{
g.setColor(Color.blue);
g.drawString ("这是一个Java Applet程序", 25, 50);
g.setColor(Color.red);
g.setFont(new Font("宋体",Font.BOLD,36));
g.drawString ("我改变了字体", 25, 100);
}
}
(2)实验代码、过程、相应结果(截图)并对实验进行说明和分析:
IDEA运行后结果如下:
实验后的练习:
1) 程序中的主类如果不用public修饰,编译能通过吗?
答:能通过
2) 程序中的主类如果不用public修饰,程序能正确运行吗?
答:不能运行
3) 程序将paint方法误写成Paint,编译能通过么?
答:可以编译
4) 程序将paint方法误写成Paint,运行时能看到有关的输出信息吗?
答:可以运行,但运行时没有输出信息.
实验2.(1)
编写控制台程序输出1–200之间的所有素数。
(1).实验源代码:
package Second;
public class SuShu {
public static void main(String[] args){
boolean flag=false;
for(int i=2;i<=200;i++){
for(int j=2;j<=Math.sqrt(i);j++){
if(i%j==0){
flag=true;
break;
}
}
if(flag==false){
System.out.println(i);
}
flag=false;
}
}
}
(2)实验代码、过程、相应结果(截图)并对实验进行说明和分析:
实验结果如下:
实验2.(2)
嵌套循环(for + while)实现1!+2!+3!+ … 9!即阶乘之和
(1)实验源代码:
(2) import java.util.Scanner;
(3)
(4) public class JieCheng{
(5) public static int Sum(int n) {
(6) int sum = 0;
(7) int number = 1;
(8) for(int i = 1; i <= n;i++) {
(9) number = number*i;
(10) sum += number;
(11) }
(12) return sum;
(13) }
(14) public static void main(String[] args) {
(15) System.out.println("输入所要求的1-x的阶乘之和,例如1-9的阶乘之和,则输入9");
(16) // 从键盘接收数据
(17) Scanner scan = new Scanner(System.in);
(18) // 接收整数
(19) int n = scan.nextInt();
(20) //输出结果
(21) System.out.println("1-"+n+"各个数的阶乘之和为:");
(22) System.out.println(Sum(n));
(23) }
(24) }
(2)实验代码、过程、相应结果(截图)并对实验进行说明和分析:
实验2.(3)
尝试用applet编写程序实现摄氏温度和华氏温度的转换。
(1)实验源代码:
(1) package Second;
(2)
(3) import java.applet.Applet;
(4) import java.awt.event.*;
(5) import java.awt.*;
(6) // 继承 Applet 同时实现接口 ActionListener
(7) public class WenDu extends Applet implements ActionListener {
(8) //TextField 对象是允许编辑单行文本的文本组件。
(9) TextField temperature1,temperature2;
(10) //标签对象
(11) Label lab1,lab2;
(12) //按钮
(13) Button button1,button2;
(14) //dimension是Java的一个类,封装了一个构件的高度和宽度
(15) Dimension preferredSize1,preferredSize2;
(16) //动作执行函数
(17) public void actionPerformed(ActionEvent evt) {
(18) if(temperature1.getText().equals("")&&evt.getSource()==button1)
(19) {
(20) String fah=temperature2.getText();
(21) Double fah1=Double.valueOf(fah).doubleValue();
(22) Double cel2=(fah1-32)/1.8;
(23) float cel3=(float)(Math.round(cel2*100))/100;
(24) temperature1.setText(cel3+"℃");
(25) }
(26) else
(27) if(temperature2.getText().equals("")&&evt.getSource()==button1)
(28) {
(29) String cel=temperature1.getText();
(30) Double cel1=Double.valueOf(cel).doubleValue();
(31) Double fah2=1.8*cel1+32;
(32) float fah3=(float)(Math.round(fah2*100))/100;
(33) temperature2.setText(fah3+"℉");
(34) }
(35)
(36) if(evt.getSource()==button2)
(37) {
(38) temperature1.setText("");
(39) temperature2.setText("");
(40) }
(41)
(42) }
(43) public void init() {
(44) //调用Label类的构造函数实例化lab1,lab2
(45) lab1 = new Label("摄氏温度:");
(46) lab2 = new Label("华氏温度:");
(47) //实例化temperature1,temperature2
(48) temperature1 = new TextField(10);
(49) temperature2 = new TextField(10);
(50) //宽50,高30,这里的宽和高是按钮的宽和高
(51) preferredSize1=new Dimension(50, 30);
(52) preferredSize2=new Dimension(50, 30);
(53) //第一个按钮,内容为"转换",颜色为绿色
(54) button1 = new Button("转换");
(55) button1.setBackground(Color.GREEN);
(56) button1.setPreferredSize(preferredSize1);
(57) //第二个按钮,内容为"替换",颜色为黄色
(58) button2 = new Button("清空");
(59) button2.setBackground(Color.YELLOW);
(60) button2.setPreferredSize(preferredSize2);
(61) //将下面这些对象都添加到容器中
(62) add(lab1);
(63) add(temperature1);
(64) add(lab2);
(65) add(temperature2);
(66) add(button1);
(67) add(button2);
(68) //增加监听
(69) temperature1.addActionListener(this);
(70) temperature2.addActionListener(this);
(71) button1.addActionListener(this);
(72) button2.addActionListener(this);
(73) }
(74)
(75) }
(76)
(2)实验代码、过程、相应结果(截图)并对实验进行说明和分析:
程序执行后
输入摄氏温度37
清空后输入华氏温度98.6
实验2.(4)
利用if语句实现阶梯电费的问题:用电量240度以下(包含240度)每度电0.55元,用电量在240-540度之间,超出240度电的部分按0.70元计算,用电量超过540度电,超出540度电的部分按照0.95元计算。(仅保留小数点后两位)
(1)
实验源代码1:
(1) package Second;
(2)
(3) import javax.swing.plaf.synth.SynthEditorPaneUI;
(4) import java.util.Scanner;
(5)
(6) public class DianFei {
(7) public static void main(String args[]) {
(8) double bill = 0, a = 0.55, b = 0.70, c = 0.95;
(9) System.out.println("输入用电量");
(10) Scanner scan = new Scanner(System.in);
(11) //接收输入的用电量
(12) double x=scan.nextDouble();
(13) if(x<=240&&x>=0){
(14) bill=x*a;
(15) System.out.println("电费为"+bill+"元");
(16) }
(17) else if(x<=540){
(18) bill=240*a+(x-240)*b;
(19) System.out.println("电费为"+bill+"元");
(20) }
(21) else {
(22) bill=240*a+300*b+(x-540)*c;
(23) System.out.println("电费为"+bill+"元");
(24) }
(25)
(26) }
(27) }
实验源代码2:
package Second;
import javax.swing.JOptionPane;
public class DianFeiSwing {
public static void main(String[] args) {
//声明变量dianliang
String dianliang;
//声明变量bill
double bill=0;
//用JOptionPane.showInputDialog运行弹出可输入对话框,对话框标题为“输入”,内容为“请输入你的实际用电量(度):”,图标为问号,且获取输入对话框中的字符串
dianliang=JOptionPane.showInputDialog(null,"输入用电量(度):\n","输入",JOptionPane.QUESTION_MESSAGE);
//用Integer.parseInt将dianliang转换为整型
int du=Integer.parseInt(dianliang);
//计算电费
if(du<=240)
bill=0.55*du;
else
if(du<=540)
bill=0.55*240+(du-240)*0.7;
else
if(du>540)
bill=0.55*240+(540-240)*0.7+(du-540)*0.95;
JOptionPane.showMessageDialog(null,"你的电费为(元):"+bill,"输出",JOptionPane.PLAIN_MESSAGE);
}
}
(2)实验代码、过程、相应结果(截图)并对实验进行说明和分析:
实验源代码1的运行结果;
实验源代码2的运行结果:
暂无评论内容