实验4_Java常用系统类的使用
这次实验,也是四题,基本上,都是需要学会如何调用java库的东西,也就是说,这次练习是为了熟悉一下java的常用库的东西。
// Ex4_1.java
/**
* 程序要求:
* 编写Applet小程序,通过在HTML文档中接收参数,用不同颜色、字体显示当前的系统时间。
* 源程序保存为Ex4_1.java,HTML文件保存为Ex4_1.html。
**/
import java.applet.*;
import java.awt.*; // 标准GUI
import java.lang.*;
import java.util.*; // Calendar类
public class Ex4_1 extends Applet
{
private String stringTime;
private int size, color;
public void init(){
size = Integer.parseInt(getParameter("size")); // 从HTML中获得参数
color = Integer.parseInt(getParameter("color"), 16);
}
public void paint(Graphics g){
Color c = new Color(color);
g.setColor(c);
Font f = new Font("", 1, size);
g.setFont(f);
GetTime();
g.drawString(stringTime, 10, 50);
}
public void GetTime(){
Calendar nowTime = Calendar.getInstance();
stringTime = nowTime.get(nowTime.HOUR) + " 时 "
+ nowTime.get(nowTime.MINUTE) + " 分 "
+ nowTime.get(nowTime.SECOND) + " 秒 ";
repaint(); // 可动态显示时间,每调用一次这个函数,Graphics就会刷新一次
}
}
接上程序:
<html>
<Applet code = Ex4_1.class width = 300 height = 100>
<param name = size value = 30>
<param name = color value = 007000>
</Applet>
</html>
下图为上题的效果图:
// Ex4_2.java
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
public class Ex4_2 extends Applet implements ActionListener
{
TextField input = new TextField(30);
Button button = new Button("Reverse");
Label result = new Label("Please Enter Something");
public void init(){
add(input);
add(button);
add(result);
button.addActionListener(this);
}
public void actionPerformed(ActionEvent e){
String str = input.getText();
result.setText(resverse(str));
}
public String resverse(String s){
int len = s.length();
StringBuffer buffer = new StringBuffer(len);
for(int i = len - 1; i >= 0; --i){
buffer.append(s.charAt(i));
}
return buffer.toString();
}
}
接上题的html
<html>
<Applet code = Ex4_2.class width = 700 height = 500>
</Applet>
</html>
接上题的效果图:
// Ex4_3.java
/**
* 程序要求:
* 编写应用程序:利用标准输入方法从键盘输入字符,并将输入的字符写到文本文件“Ex4_3.txt”中。然后再打开文本文件“Ex4_3.txt”,
* 把其中的内容输出到屏幕上,源程序保存为Ex4_3.java。
**/
import java.lang.*;
import java.io.*;
import java.util.Scanner;
public class Ex4_3
{
public static void main(String[] args)throws IOException {
Scanner sca = new Scanner(System.in); // 字符串输入
String test = sca.next();
FileWriter out = new FileWriter(("Ex4_3.txt"), false); // 建立文件输出流
out.write(test + "\n");
out.close();
FileReader in = new FileReader("Ex4_3.txt"); // 建立文件输入流
BufferedReader bin = new BufferedReader(in);
String str;
while( ( str = bin.readLine() )!= null){
System.out.println(str);
}
in.close();
return ;
}
}
// Ex4_4.java
/**
* 程序要求:
* 编写Applet程序,随机生成10个小于500的整数,统计其中的奇数个数、偶数个数,分别输出这些整数和统计结果;
* 源程序保存为Ex4_4.java,HTML文件保存为Ex4_4.html。
**/
import java.lang.*;
import java.applet.*;
import java.awt.*;
import java.util.*;
public class Ex4_4 extends Applet
{
private int a[] = new int[10];
private String array = "";
private String evenNumber= "";
private String oddNumber= "";
private int evenCount = 0;
private int oddCount = 0;
public void init(){
constructArray();
}
public void constructArray(){
Random r = new Random(1234567890L);
for (int i = 0; i != 10; ++i){
a[i] = r.nextInt(500); // 加入数组
array += (String.valueOf(a[i]) + " "); // 加入字符串
if (0 == a[i] % 2){ // 偶数
evenNumber += (String.valueOf(a[i]) + ","); // 加入偶数字符串
++evenCount;
}
else{
oddNumber += (String.valueOf(a[i]) + ","); // 奇数
++oddCount;
}
}
return;
}
public void paint(Graphics g){
g.drawString("生成随机数:" + array, 20, 30);
g.drawString("奇数:" + evenNumber + "共有 " + String.valueOf(evenCount) + " 个", 20, 60);
g.drawString("偶数:" + oddNumber + "共有 " + String.valueOf(oddCount) + " 个", 20, 90);
}
}
接上题的HTML
<html>
<Applet code = Ex4_4.class width = 500 height = 100>
</Applet>
</html>
接上题的效果图