桂电JAVA程序设计与问题求解实验说明书(含实验代码)

更新时间:2023-10-15 06:54:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

桂林电子科技大学 计算机科学与工程学院 信息安全 JAVA程序设计实验报告说明书

JAVA程序设计实验 实验一 JAVA开发环境及基本语法学院: 计算机科学与工程学院 专业: 信息安全 学号: 1100360100 姓名: 路边葱子

2014年6月1

桂林电子科技大学 计算机科学与工程学院 信息安全 JAVA程序设计实验报告说明书

JAVA程序设计实验 实验二 系统类和数组 学院: 计算机科学与工程学院 专业: 信息安全 学号: 1100360100 姓名: 路边葱子

2014年6月2

桂林电子科技大学 计算机科学与工程学院 信息安全 JAVA程序设计实验报告说明书

JAVA程序设计实验 实验三 图形界面程序的界面设计 学院: 计算机科学与工程学院 专业: 信息安全 学号: 1100360100 姓名: 路边葱子

2014年6月3

桂林电子科技大学 计算机科学与工程学院 信息安全 JAVA程序设计实验报告说明书

JAVA程序设计实验 实验四 图形界面程序的事件处理 学院: 计算机科学与工程学院 专业: 信息安全 学号: 1100360100 姓名: 路边葱子

2014年6月4

桂林电子科技大学 计算机科学与工程学院 信息安全 JAVA程序设计实验报告说明书

JAVA程序设计实验 实验五 异常 学院: 计算机科学与工程学院 专业: 信息安全 学号: 1100360100 姓名: 路边葱子

2014年6月5

桂林电子科技大学 计算机科学与工程学院 信息安全 JAVA程序设计实验报告说明书

JAVA程序设计实验 实验六 多线程 学院: 计算机科学与工程学院 专业: 信息安全 学号: 1100360100 姓名: 路边葱子

2014年6月6

桂林电子科技大学 计算机科学与工程学院 信息安全 JAVA程序设计实验报告说明书

JAVA程序设计实验

实验七 流与文件

学院: 计算机科学与工程学院 专业: 信息安全 学号: 1100360100 姓名: 路边葱子

2014年6月

7

桂林电子科技大学 计算机科学与工程学院 信息安全 JAVA程序设计实验报告说明书

JAVA程序设计实验

实验八 网络

学院: 计算机科学与工程学院 专业: 信息安全 学号: 1100360100 姓名: 路边葱子

2014年6月

8

桂林电子科技大学 计算机科学与工程学院 信息安全 JAVA程序设计实验报告说明书

实验一 Java开发环境及基本语法

一、实验目的

1、掌握常用的Java集成开发环境的使用,特别是Eclipse和NetBeans。 2、掌握Java基本语法,重点是面向对象的思想和语法。

3、掌握控制台下(应用程序)的输入输出方法,作为后续部分实验的基础。

二、实验类型

设计型。

三、实验内容

1、打开实验室计算机上的集成开发环境Eclipse或NetBeans(重点是Eclipse),掌握其基本使用方法。了解开发软件的各个菜单功能。会创建java项目(Project),会编辑和编译、运行项目代码。

2、验证和学习所给的几个例子程序及其讲解。然后自己编写一个至少由一个类构成的Java程序,其功能是在运行后,能接收用户输入一个学生的姓名以及java课的成绩(百分制),并输出对该学生成绩是否达到60分的及格分的判断(可使用if语句)。例如,输入学生姓名李明,然后输入成绩50,则输出“李明的成绩为不及格”。

3、编写一个程序来表示长方体的长宽高等数据并有计算体积的函数可供调用,长方体类从矩形类继承而来。程序运行时能接受输入任意的3 个数作为长方体的长、宽和高,然后能够输出所输入的长宽高及所计算出的体积。注意不能把代码全部写在main函数里面,不能直接输出长宽高的乘积。在解决该问题的程序设计中,将体积计算等功能封装成方法调用,长宽高等属性封装到矩形类和长方体类中,尽量多地用到接口的定义、类的定义、成员变量的定义、成员函数的定义、类的继承等面向对象的语法和知识点。在此基础上熟悉、理解和解释类的封装、继承等面向对象编程思想和概念。

四、详细设计与测试

//实验1.1 测试成绩合格与否

import java.util.Scanner; public class chengji {

public static void main(String[]args) {

float score; String name;

Scanner userInput=new Scanner(System.in);

System.out.print(\请输入姓名:\); name=userInput.nextLine(); System.out.print(\请输入成绩:\); score=userInput.nextFloat();

9

桂林电子科技大学 计算机科学与工程学院 信息安全 JAVA程序设计实验报告说明书

}

if((score<0)||(score>100)) {

System.out.println(\); }

else if((score<60)&&(score>=0)) {

System.out.println(name+\的成绩不及格!\); } else {

System.out.println(name+\的成绩及格!\); } }

测试输入不合格时:

测试数据合格时:

//实验1.2 计算矩形体积

import java.util.Scanner;

class retangle {

double width; double Long;

retangle(double w,double l)

10

桂林电子科技大学 计算机科学与工程学院 信息安全 JAVA程序设计实验报告说明书 {

this.width=w; this.Long=l; } }

class Cuboid extends retangle {

double height;

Cuboid(double l,double w,double h) {

super(w,l);

this.height=h; }

public double getVolume() {

return height*this.Long*this.width; } }

class sy1 {

public static void main(String []args) {

double width; double Long; double height;

Scanner userInput=new Scanner(System.in); System.out.print(\请输入长宽高:\); width=userInput.nextDouble(); Long=userInput.nextDouble(); height=userInput.nextDouble();

if((width>0)&&(Long>0) &&(height>0) ) {

Cuboid cuboid1=new Cuboid(Long,width,height);

System.out.println(\该

\+cuboid1.getVolume()); } else {

System.out.println(\您的输入有误!\); } } }

:11

桂林电子科技大学 计算机科学与工程学院 信息安全 JAVA程序设计实验报告说明书 错误数据输入情况:

正确输入情况:

实验二 系统类和数组

一、实验目的

1、通过字符串处理类的应用,掌握系统类的使用方法。 2、掌握数组的定义和使用。

3、进一步掌握Java程序设计的基本过程和基本方法。

二、实验类型

设计型

三、实验内容

1、应用数组和字符串,编写一个用于统计学生成绩的程序,运行之后,首先能接受用户输入不超过10个学生的姓名和Java课的分数。输入结束之后,能输出这批学生的Java课最高分者和最低分者的姓名和分数。还能接受用户输入学生姓名来查询某学生的成绩,当姓名不存在时,向用户提示不存在该学生。

2、通过应用Java中常用的数组和字符串,编写一个简单的通讯录程序,来熟悉系统类和数组的应用。通讯录由多条记录构成。每条记录包括一个联系人的姓名、性别、电话、通信地址,并具有显示、查询、增加、修改、删除等功能,且每执行一次功能操作后,可以选择用类似以下的格式,输出通讯录的所有信息记录:

编号 姓名 性别 电话 通信地址 01 张三 男 123456 上海 02 李四 女 456789 桂林

可考虑用数组分别存储姓名,性别,电话,通信地址,那么显示、查询,增加、修改、删除操作就可转换为对数组元素的操作。通讯录中的所有记录的每一个字段可以采用一维或二维或其它类型数组来存放。请发挥自己的思考能力,用自己熟悉的或者觉得更合理的方式来设

12

桂林电子科技大学 计算机科学与工程学院 信息安全 JAVA程序设计实验报告说明书 计程序解决问题,完成该实验。

五、详细设计与测试

//实验2.1 查询所有成绩的高低分 import java.util.Scanner; public class Grade {

public static void Menu(){ System.out.println(\菜 单=====\); System.out.println(\录入成绩\); System.out.println(\显示最高低分\); System.out.println(\按姓名查询\); System.out.println(\显示所有\); System.out.println(\);

System.out.println(\请选择....\); }

public static void main(String[] args) {

Person stu[];

stu = new Person[10]; for(int j=0;j<10;j++)

stu[j] = new Person();

Scanner sc = new Scanner(System.in);

int i,j=0; while(true) {

Menu();

i = sc.nextInt(); switch(i) {

case 1: stu[j].Get(); j++;

break; case 2:

stu[0].Max_Min(stu);

break; case 3:

Person.Search(stu);

break; case 4:

stu[0].Show(stu, j);

break;

13

桂林电子科技大学 计算机科学与工程学院 信息安全 JAVA程序设计实验报告说明书 default:

System.out.println(\无效操作...\);

break;

} }

}

}

显示所有输入:

查询高低分:

//2.2 通讯录

import java.util.Scanner; class address_list {

int count=0;

long [] teleNum=new long[100];

14

桂林电子科技大学 计算机科学与工程学院 信息安全 JAVA程序设计实验报告说明书

String [] name=new String[100]; String [] sex=new String[100]; int [] num=new int[100];

String [] address=new String[100]; //打印函数

public void print() {

性别

电话

System.out.println(\编号 姓名 信地址\);

for(int i=0;i

System.out.println(num[i]+\ \+teleNum[i]+\ \+address[i]); } }

//搜寻函数

public void search() {

\+name[i]+\ \+sex[i]+\

\);

System.out.println(\请选择查找方式:1.姓名 2. 编号\\n请选择(1或者2)Scanner userInput=new Scanner(System.in); switch(userInput.nextInt()) {

case 1: {

String inputNamer;

inputNamer=userInput.next(); for(int i=0;i

if(name[i].equals(inputNamer));

System.out.println(\编号 姓名 性别 通信地址\);

System.out.println(num[i]+\ \+name[i]+\\+sex[i]+\+teleNum[i]+\ \+address[i]); } break; }

case 2: {

int userInputNum;

15

桂林电子科技大学 计算机科学与工程学院 信息安全 JAVA程序设计实验报告说明书 System.out.println(\请输入要查找的编号:\); userInputNum=userInput.nextInt();

if((userInputNum>0)&&(userInputNum<=count)) {

System.out.println(\编号 姓名 性别 电话 通信地址\);

System.out.println(num[userInputNum-1]+\ \+name[userInputNum-1]+\ \+sex[userInputNum-1]+\ \+teleNum[userInputNum-1]+\\+address[userInputNum-1]); } else {System.out.println(\输入有误!\);}

break; } } }

//增加通讯录人员 public void add() {

if(count<100)

{

System.out.println(\请输入要加入通讯录人员的 编号 姓名 电话号码 通信地址\);

Scanner userInput=new Scanner(System.in); name[count]=userInput.next(); sex[count]=userInput.next();

teleNum[count]=userInput.nextLong(); address[count]=userInput.next(); count++;

num[count-1]=count; } else { System.out.println(\通讯录已满!\); } }

//删除

public void delete() {

int deleNum; print();

System.out.println(\请输入要删除的编号:\);

性别16

桂林电子科技大学 计算机科学与工程学院 信息安全 JAVA程序设计实验报告说明书

Scanner userInput=new Scanner(System.in); deleNum=userInput.nextInt();

if((deleNum>0)&&(deleNum<=count)) {

if(deleNum!=100) {

for(int i=deleNum-1;i

teleNum[i]=teleNum[i+1]; name[i]=name[i+1]; sex[i]=sex[i+1];

address[i]=address[i+1]; count--; } }

else {

count--; } }

else {

System.out.println(\要删除的编号不存在!\); } }

//修改

public void modify() {

System.out.println(\请输入要修改的人员的编号:\); Scanner userInput=new Scanner(System.in); int userInputNum;

userInputNum=userInput.nextInt();

if((userInputNum>0)&&(userInputNum<=count)) {

System.out.println(\请输入要修改的通讯录人员的姓名?¤性别?¤电话号码?¤通信地址\);

name[userInputNum-1]=userInput.next(); sex[userInputNum-1]=userInput.next();

teleNum[userInputNum-1]=userInput.nextLong(); address[userInputNum-1]=userInput.next();

17

桂林电子科技大学 计算机科学与工程学院 信息安全 JAVA程序设计实验报告说明书

} else {

System.out.println(\输入的编号有误!\); } } }

class addressList{

public static void main(String []args) {

address_list address_list1=new address_list(); int userChoice;

Scanner userInput =new Scanner(System.in); do {

System.out.println(\请选择 :\\n1.新增 2.修改 3.删除 4.查询 5.退出\);

userChoice=userInput.nextInt(); switch(userChoice) { case 1:

address_list1.add();

address_list1.print(); break; case 2:

address_list1.modify(); address_list1.print(); break; case 3:

address_list1.delete(); address_list1.print(); break; case 4:

address_list1.search(); address_list1.print(); break; default:

break; }

}while(userChoice!=5); } }

18

桂林电子科技大学 计算机科学与工程学院 信息安全 JAVA程序设计实验报告说明书

实验三 图形界面程序的界面设计

一、实验目的

1、掌握Java图形界面程序设计的基本思想和步骤。 2、掌握JDK中AWT包和Swing包的基本使用方法和区别。 3、掌握容器和布局的概念和使用。

4、掌握图形界面程序的界面设计方法和步骤。

二、实验类型 设计型

三、实验内容

1、自己编写所有代码,设计一个程序的界面。该程序的功能要求是:运行之后,界面要求基本如左图所示。其中界面设计时的顶层容器要求使用JFrame(或Frame),界面上的“简易计算器”、“运算数一”、“运算数二”、“运算结果”这些提示标签使用组件JLabel(或Label),输入运算数和输出运算结果使用JTextField(或TextField),“相加”、“相减”和“全部清零”使用按钮JButton(或Button)。 请注意查阅JDK的API文档中这些相关的类,看看它们具有哪些构造函数可以用来生成所需的对象,它们具有哪些方法可以用来进行调用。注意保存好本次实验代码,下一次实验将会要求实现其事件处理以继续完善。

六、下面的左图和右图分别是windows系统中的标准型和科学型计算器的界面截图。打开你使用的微软公司Windows操作系统或Linux等其它操作系统中自带的“计算器”软件,观察和参照其界面和功能,实现一个接近其界面和功能的计算器(标准型或科学型)的界面。并保存好代码,在下一次实验中实现其事件处理(即运算功能)。

19

桂林电子科技大学 计算机科学与工程学院 信息安全 JAVA程序设计实验报告说明书

四、详细设计与测试

//3.1简单计算器

import java.awt.Color; import java.awt.Font;

import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel;

import javax.swing.JOptionPane; import javax.swing.JTextField; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class add2 { JFrame jf = new JFrame(\简易计算器\ JButton button1 = new JButton(\相加\ JButton button2 = new JButton(\相减\ JButton button3 = new JButton(\全部清零\ JLabel Label1 = new JLabel(\简易计算器\ JLabel Label2 = new JLabel(\运算数一\ JLabel Label3 = new JLabel(\运算数二\ JLabel Label4 = new JLabel(\运算结果\ JTextField textField1 = new JTextField(); JTextField textField2 = new JTextField(); JTextField textField3 = new JTextField(); public add2() { jf.setSize(250, 300); jf.setLayout(null);

20

桂林电子科技大学 计算机科学与工程学院 信息安全 JAVA程序设计实验报告说明书

五、详细设计与测试

//实验8.1 聊天测试 import java.awt.Color; import java.awt.Font;

import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.net.SocketException; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JScrollBar; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JTextField;

public class Frame extends JFrame implements WindowListener{ private JTextArea text; private JTextField ipText; private JTextField sendText;

private JButton button,button1,button2; private DatagramSocket socket; private JScrollBar vsBar; public Frame(){

setTitle(\简易聊天器 1.0内测版 \setBounds(500, 250,1000, 600); text=new JTextArea();

text.setForeground(Color.green); text.setBackground(Color.gray); text.setEditable(true); setLayout(null);

JScrollPane textPanel = new JScrollPane(text); vsBar = textPanel.getVerticalScrollBar(); textPanel.setBounds(10,10, 320, 240); getContentPane().add(textPanel);

JLabel label=new JLabel(\请输入对方IP:\label.setForeground(Color.red);

label.setFont(new Font(\

46

桂林电子科技大学 计算机科学与工程学院 信息安全 JAVA程序设计实验报告说明书 label.setBounds(342, 24, 110, 24); getContentPane().add(label); ipText = new JTextField();

ipText.setForeground(Color.red); ipText.setBackground(Color.blue); ipText.setBounds(352, 54, 111, 31); getContentPane().add(ipText); button=new JButton();

button.setForeground(Color.red); button.setBackground(Color.blue); button.setText(\

button.setBounds(363, 135, 85, 47);

button.setFont(new Font(\getContentPane().add(button);

button.addActionListener(new send()); button1=new JButton(\button1.setForeground(Color.red); button1.setBackground(Color.blue); button1.setBounds(363, 200, 85, 47);

button1.setFont(new Font(\getContentPane().add(button1);

button1.addActionListener(new clear()); button2=new JButton(\button2.setForeground(Color.red); button2.setBackground(Color.blue); button2.setBounds(363, 260, 85, 47);

button2.setFont(new Font(\getContentPane().add(button2);

button2.addActionListener(new exit()); this.addWindowListener(this); sendText = new JTextField();

sendText.setForeground(Color.red); sendText.setBackground(Color.blue); sendText.setBounds(10, 260, 320, 47); getContentPane().add(sendText); pack();

this.setVisible(true); }

class send implements ActionListener{

public void actionPerformed(ActionEvent e) { try{

String ip=ipText.getText();

InetAddress address=InetAddress.getByName(ip); byte[] data=sendText.getText().getBytes();

DatagramPacket dp=new DatagramPacket(data,data.length,address,9527);

47

桂林电子科技大学 计算机科学与工程学院 信息安全 JAVA程序设计实验报告说明书 String myip=InetAddress.getLocalHost().getHostAddress(); text.append(myip+\ socket.send(dp);

sendText.setText(null); }catch(Exception e1){ System.out.println(e1); } } }

class clear implements ActionListener{

public void actionPerformed(ActionEvent e) { text.setText(\ } }

class exit implements ActionListener{

public void actionPerformed(ActionEvent e) { System.exit(0); } } private void server() { try {

socket=new DatagramSocket(9527); byte[] buf=new byte[1024];

final DatagramPacket dp1=new DatagramPacket(buf,buf.length); Runnable runnable=new Runnable(){ public void run(){ while(true){ try{

Thread.sleep(100); socket.receive(dp1);

String message=new String(dp1.getData(),0,dp1.getLength()); String ip=dp1.getAddress().getHostAddress();

if(!InetAddress.getLocalHost().getHostAddress().equals(ip)) text.append(ip+\ }catch(Exception e){ System.out.println(e); } } } };

new Thread(runnable).start(); } catch (SocketException e1) { e1.printStackTrace(); } }

public static void main(String[] args) { Frame frame=new Frame(); }

public void windowActivated(WindowEvent e) { }

public void windowClosing(WindowEvent e) { System.exit(0); public void windowDeactivated(WindowEvent e) { } public void windowDeiconified(WindowEvent e) { } public void windowIconified(WindowEvent e) { } public void windowOpened(WindowEvent e) { }

@Override public void windowClosed(WindowEvent arg0) { // TODO Auto-generated method stub

48

} 桂林电子科技大学 计算机科学与工程学院 信息安全 JAVA程序设计实验报告说明书 } }

49

本文来源:https://www.bwwdw.com/article/5hif.html

Top