⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 81.txt

📁 是一个 java 基础学习软件 有设计说明
💻 TXT
字号:
猜数游戏程序

一.设计目标:
程序运行时自动产生1~100的随机数、接收用户键盘输入数据并给出提示信息,直至猜对。游戏者猜对后,显示猜测次数,并提供“重新开始”和退出功能。
二.编程思路:
1)	采用两层循环结构实现所需功能。外层采用do-while循环,因此至少要运行一次,由循环条件控制是否重新开始。内层采用for(int i=0; ;i++)格式的for循环,用于判断游戏者的每次输入,其循环计数器i也记录了游戏者的猜测次数。
2)	在外层循环的开始,采用Math类的random()方法产生随机数,并变换到取值区间[1,100]。
3)	在内层循环中使用BufferedReader类的readLine()方法读取键盘输入,得到的是String类型数据,再使用封装类Integer的parseInt()方法转换为int型。
4)	游戏者猜对后,内层循环结束。再在外层循环中要求其输入是否继续的信息,如“y”或“n”,决定是否重新开始外层循环。
三.编码实现:
程序:Guess.java
import java.io.*;

public class Guess{
public static void main(String args[]){
	int m,n=0;
	String s;
	boolean again = false;
	InputStreamReader isr = new InputStreamReader(System.in);
	BufferedReader br = new BufferedReader(isr);
	do{
		m=(int)(Math.random()*101);
		System.out.println("请输入数值(1-100)");
		for(int i=0; ;i++){
			try{
				s = br.readLine();
				n = Integer.parseInt(s);
			}catch(IOException e){
				e.printStackTrace();	
			}
			
			if(n>m){
				System.out.println("偏大了,请继续:");
				continue;
			}else if(n<m){
				System.out.println("偏小了,请继续:");
				continue;
			}else {
				System.out.println("恭喜!"+ (i+1) + "次猜对!");
				break;
			}
		}
		try{
//


文本文件阅读器开发


一.设计目标:
1)	文本文件阅读器是一个菜单驱动的简单AWT应用。 
2)	文本文件阅读器包含一个“文件”菜单,文件菜单包含两个菜单项: 
 “打开”菜单用来打开文本文件。 
 “退出”菜单用于退出程序。 
3)	文本文件阅读器可以在多种平台上运行。
二.初步设计: 
文本文件阅读器的初步设计分为两部分: 
2	GUI设计——了解并选用构成程序的各个GUI部件。
2	伪代码设计——用自然语言写出程序运行原理。
l	GUI设计 
文本文件阅读器的用户界面包含一个主窗口、一个菜单和一个打开文件的对话框。首先我们来看看主窗口的设计。主窗口应该把窗口标题显示为“文件名--FileReader1.0”,显示“文件”菜单,窗体为文本文件内容显示区,刚启动时为空白状态,文件名为“untitled--FileReader1.0”。
“文件”菜单包含两个菜单项。“打开”菜单显示一个文件对话框,用来选择文本文件的位置及文件名称。“退出”菜单关闭程序。另外,点击主窗口右上角的关闭按钮也可以关闭程序。文本文件阅读器窗体的主体部分为TextArea组件,用以显示文本文件内容,见图1:

****************
图1 文本文件阅读器主界面

l	伪代码设计 
前面我们了解了构成文本文件阅读器GUI的各个部件,下面要开始“设想”一下这个程序的具体构造。在正式编写代码之前,我们先用伪代码的形式写出这个程序的运行过程,以后正式编写代码时只需把伪代码翻译成Java代码即可。下面给出了文本文件阅读器的伪代码描述: 
1)	 应用程序类名称:FileReader 
2)	 用到的主awt组件:Frame,Menubar,Menu,MenuItem,TextField
3)	 监听器分类:菜单事件监听器(ActionListener),窗口事件监听器(WindowListener)
4)	 main方法: 
(1)	创建并显示主窗口----调用FileReader构造方法完成有关初始化工作。 
(2)	结束主程序线程。此时AWT线程继续运行。
5)	 FileReader构造方法: 
(1)	创建主窗口
(2)	设置主窗口的标题 
(3)	创建一个菜单条(MenuBar) 
(4)	创建“文件”菜单 
(5)	创建“打开”菜单项 
(6)	创建“退出”菜单项 
(7)	把“打开”菜单项加入“文件”菜单。 
(8)	在“文件”菜单中加入一条水平分隔线 
(9)	把“退出”菜单项加入“文件”菜单。 
(10)	把FileReader对象注册成为“打开”和“退出”菜单项的ActionEvent事件监听器 
(11)	把“文件”菜单加入到菜单条 
(12)	把新创建的菜单条设置为主窗口的菜单条 
(13)	创建“文本域”组件并添加到主窗体中
(14)	注册窗口监听器,以处理窗口关闭事件 
(15)	把主窗口的大小设置为400*400像素 
(16)	显示主窗口 
(17)	构造方法结束 
6)	菜单事件处理方法: 
当所监听的组件出现动作时,调用相应的监听器方法: 
2	如果动作事件起源于“退出”菜单项: 
(1) 退出当前程序
(2) 返回
2	如果动作事件起源于“打开文件”菜单项
(1) 创建一个“打开文本文件”对话框 
(2) 把对话框的当前目录设置为当前目录 
(3) 显示对话框。这个对话框是一个模式对话框 
(4)	如果用户没有通过对话框选择文本文件则返回;如果用户通过对话框选择了文件,则进行如下操作: 
-	获取选中的文件路径及文件名称 
-	将主窗口标题改为“文件名--FileReader1.0” 
-	读取文件内容并显示到主窗体“文本域”组件中 
-	返回 
7)	 窗口事件监听器处理方法: 
当所监听的组件出现动作时,调用相应的监听器方法,如果动作事件起源于“关闭窗口”角标,则退出当前程序
三.编码实现:
把前面的伪代码转换成Java代码: 
程序:FileReader.java
import java.io.*;
import java.awt.*;
import java.awt.event.*;
public class MyReader implements ActionListener{
	private Frame f;
	private TextArea ta;
	FileDialog fd ;
    
	public MyReader() {
		f = new Frame("FileReader");
		MenuBar mb = new MenuBar();
		Menu m1 = new Menu("文件");
		MenuItem m11 = new MenuItem("打开");
		MenuItem m12 = new MenuItem("退出");
		m11.setActionCommand("open");
		m12.setActionCommand("exit");
		m11.addActionListener(this);
		m12.addActionListener(this);		
		m1.add(m11);
		m1.addSeparator();
		m1.add(m12);
		mb.add(m1); 
		f.setMenuBar(mb);
		
		ta = new TextArea();
		f.add(ta);
		f.addWindowListener(new WindowAdapter(){
			public void windowClosing(WindowEvent e){
				System.exit(1);	
			}	
		});
       	f.setSize(400,400);
       	f.setVisible(true);
	}

	public void actionPerformed(ActionEvent e){
		String s = e.getActionCommand();
		if (s.equals("open")) {
			fd=new FileDialog(f,"文件对话框", FileDialog.LOAD);
			fd.setVisible(true);
			String fpath = fd.getDirectory();
			String fname = fd.getFile();
			String file = fpath + fname;
			this.outputFile(file);			
		}else if(s.equals("exit")){
			System.exit(1);
		}		
	}

	public void outputFile(String file){
		try {
			FileReader fr = new FileReader(file); 
			BufferedReader br = new BufferedReader(fr);
			String d = br.readLine();
			while(d!=null){
				ta.append(d);	//在ta原文本的结尾追加,而非覆盖
				ta.append("\n");//输出一个换行符    	      	    
				d = br.readLine();	
			} 
			br.close();
f.setTitle(file);
		}catch (FileNotFoundException e1){
			e1.printStackTrace();  
		}catch (IOException e2){
			e2.printStackTrace();
		}   
	}

	public static void main(String args[]) {
		new MyReader();
	}
}
程序运行效果如图2所示:
 
图2 文本文件阅读器显示效果
练习:
通过使用菜单,文件对话框等组件扩充阅读器的功能,如“新建”、“保存”、“另存为”等文件操作;“剪切”、“复制”、“粘贴”等编辑操作;鼠标右键菜单和状态条功能;最近打开过的文件列表功能等。直至使之成为一个类似于Windows notePade的文本编辑器。

Ex:
1.	(homework)参照j21_编程思想训练02,写出先前作业《07_多线程显示不同时区时间》的设计文档,包括:
a.	设计目标(需求分析)
b.	编程思路
c.	初步设计:GUI设计/伪代码设计
d.	源代码(编码实现)
2.	参照j21_编程思想训练02,写出先前作业《06_标准计算器设计与实现》的设计文档,包括:
a.	设计目标(需求分析)
b.	编程思路
c.	初步设计:GUI设计/伪代码设计
d.	源代码(编码实现)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -