JAVA实验5 (2)
java实验5图形用户界面设计试验
java实验5图形⽤户界⾯设计试验常⽤布局1)、流布局: FlowLayout 从左到右,⾃上⽽下⽅式在容器中排列,控件的⼤⼩不会随容器⼤⼩变化.容器.setLayout(new FlowLayout(FlowLayout.LEFT));2)、⽹格布局: GridLayout 按照指定⾏数与列数,将容器分成⼤⼩相等的单元格每个单元格放置⼀个控件. 不能将控件放在指定单元格 容器.setLayout(new GridLayout(3,4,10,15));3)、边界布局: BorderLayout 将容器分成东、西、南、北、中五个部分 容器.setLayout(new BorderLayout()); 窗⼝的内容⾯板默认布局就是边界布局。
容器.add(控件,BorderLayout.NORTH);4)、混合布局: 使⽤JPanel,将多个布局组合在⼀起使⽤5)、绝对布局 null: 以坐标定位 容器.setLayout(null); 每个控件在放置在容器之前,必须设置其边界 setBounds(x,y,width,height); btn.setBounds(10,100,30,60);常⽤事件1)、事件源 EventSource:能够触发事件控件如:JButton,JTextField,JFrame,JComboBox,....2)、事件 Event:ActionEvent,KeyEvent,WindowEvent,TextEvent,...3)、事件侦听者Listener(接⼝) ActionListener,WindowListener,...class A implements ActionListener{public void actionPerformed(ActionEvent e){....}}A lis=new A();4)、事件处理函数public void actionPerformed(ActionEvent e){....}事件流程:事件源触发事件-->事件源侦听者接收事件-->⾃动调⽤相应事件处理函数.实践编程1.在应⽤程序窗体中安排1个⽂本框,⼀个标签。
JAVA实验报告5异常处理实验
JAVA实验报告5异常处理实验异常处理是Java程序设计中非常重要的一部分,能够有效地处理程序在运行过程中可能出现的异常情况。
在本次实验中,我们主要学习了Java中的异常处理机制,并对其进行了实践。
一、实验目的:1、学习Java中的异常处理机制;2、掌握如何使用try-catch来处理异常;3、了解Java中常见的异常类和异常处理语句的使用方法。
二、实验内容:1、编写一个Java程序,在程序中故意引发一个异常,然后使用try-catch语句来处理该异常,并在catch块中打印异常的详细信息;2、使用多个catch块来处理不同类型的异常,并在每个catch块中打印对应异常的详细信息;3、使用finally块来执行一些必须要执行的代码,比如关闭文件等。
三、实验步骤:1、首先,我们编写一个简单的Java程序,使用try-catch语句来处理异常。
假设我们在程序中故意除以0,然后在catch块中打印出异常信息。
代码如下:```public class ExceptionHandlingDemopublic static void main(String[] args)tryint result = 10 / 0;} catch (ArithmeticException e)System.out.println("发生异常:" + e);}}```2、接下来,我们使用多个catch块来处理不同类型的异常。
假设我们在程序中使用一个空数组,然后尝试访问数组的第一个元素。
如果数组为空,则会抛出ArrayIndexOutOfBoundsException异常。
代码如下:```public class ExceptionHandlingDemopublic static void main(String[] args)int[] array = new int[0];tryint firstElement = array[0];} catch (ArrayIndexOutOfBoundsException e)System.out.println("发生异常:" + e);} catch (Exception e)System.out.println("未知异常:" + e);}}```3、最后,我们使用finally块来执行一些必须要执行的代码。
java基础实验报告
java基础实验报告Java基础实验报告引言:Java作为一种面向对象的编程语言,广泛应用于软件开发领域。
本次实验旨在通过一系列的实验任务,加深对Java基础知识的理解,并掌握Java编程的基本技巧。
实验一:Java环境搭建在本实验中,我们首先需要搭建Java开发环境。
Java开发工具包(JDK)是进行Java编程的基础,我们可以从Oracle官网上下载并安装最新版本的JDK。
安装完成后,我们需要配置环境变量,以便在命令行中能够直接运行Java相关的命令。
实验二:Java语言基础Java语言基础是进行Java编程的基石。
在本实验中,我们需要掌握Java的基本语法规则、数据类型和运算符等。
通过编写简单的程序,如计算两个数的和、判断一个数是否为素数等,加深对Java语言基础的理解。
实验三:面向对象编程面向对象编程是Java的核心特性之一。
在本实验中,我们需要学习Java中的类和对象的概念,并通过编写简单的类和对象来实现一些功能。
例如,创建一个学生类,包含姓名、年龄和成绩等属性,并实现一些与学生相关的操作方法。
实验四:异常处理异常处理是Java编程中重要的一部分。
在本实验中,我们需要学习Java中的异常处理机制,并通过编写代码来处理可能出现的异常情况。
例如,通过try-catch语句来捕获并处理用户输入非法字符的异常。
实验五:文件操作在实际的软件开发中,文件操作是非常常见的需求。
在本实验中,我们需要学习Java中的文件操作相关的类和方法,并通过编写代码来实现文件的读取和写入等功能。
例如,读取一个文本文件中的内容,并将其写入到另一个文件中。
实验六:多线程编程多线程编程是提高程序性能和效率的一种方式。
在本实验中,我们需要学习Java中的多线程编程相关的知识,并通过编写代码来实现多线程的应用。
例如,创建多个线程来同时下载多个文件,并实现进度条的显示。
结论:通过完成以上一系列的实验任务,我们对Java基础知识有了更深入的理解,并掌握了Java编程的基本技巧。
JAVA实验报告5异常处理实验
JAVA实验报告5异常处理实验一、实验目的1. 了解Java异常处理机制;2. 掌握Java中异常处理的方式;3.熟悉自定义异常的方法。
二、实验内容本实验通过编写代码来体验Java中的异常处理机制,主要包括以下几个方面:1.了解异常的基本知识;2. 学习try-catch语句的使用方法;3. 掌握throws关键字的用法;4.编写自定义异常类。
三、实验步骤1. 编写一个“除法计算器”类DivideCalculator,该类有一个名为divide的方法,用于计算两个整数的商,并返回结果。
如果除数为0,则会抛出一个自定义的异常类DivideByZeroException;2. 在DivideCalculator类中,先使用try-catch语句来捕获DivideByZeroException异常,如果除数为0,则在控制台上打印出“不能除以0”的错误信息;3. 在该方法中再使用throws关键字将异常抛出,以便调用方能捕获该异常;4. 编写一个测试类CalculatorTest来测试DivideCalculator类,将两个整数输入给divide方法,观察控制台输出的结果;5. 在CalculatorTest类中使用try-catch语句来捕获DivideByZeroException异常,并打印出错误信息;6. 在CalculatorTest的main方法中调用divide方法,传入5和0作为参数;7.运行程序,观察控制台输出的结果。
四、实验结果根据实验步骤中的代码编写,可得到以下实验结果:1.当传入的除数为非零整数时,程序正常执行并返回正确结果;2. 当传入的除数为0时,程序会抛出自定义的异常DivideByZeroException,并在控制台上打印出错误信息"不能除以0";3. 在CalculatorTest的try-catch语句中捕获到DivideByZeroException异常,并打印出错误信息"不能除以0"。
java实验实验报告
java实验实验报告Java 实验实验报告一、实验目的本次 Java 实验的主要目的是通过实际操作和编程实践,深入理解和掌握 Java 编程语言的基本概念、语法结构、面向对象编程的思想以及常用类库的使用。
同时,培养我们解决实际问题的能力和编程思维,提高代码的质量和可读性。
二、实验环境1、操作系统:Windows 102、开发工具:IntelliJ IDEA3、 JDK 版本:18三、实验内容(一)基本语法练习1、数据类型与变量在 Java 中,我们学习了不同的数据类型,如整数类型(`int`、`long`)、浮点数类型(`float`、`double`)、字符类型(`char`)和布尔类型(`boolean`)。
通过定义和使用这些变量,我们能够存储和操作各种类型的数据。
```javaint age = 25;double salary = 500050;char grade ='A';boolean isStudent = true;```2、控制结构包括条件语句(`ifelse`、`switch`)和循环语句(`for`、`while`、`dowhile`)。
这些控制结构使我们能够根据不同的条件执行不同的代码块,或者重复执行一段代码。
```javaint num = 10;if (num > 5) {Systemoutprintln("Number is greater than 5");} else {Systemoutprintln("Number is less than or equal to 5");}switch (num) {Systemoutprintln("One");break;case 10:Systemoutprintln("Ten");break;default:Systemoutprintln("Unknown");}for (int i = 0; i < 5; i++){Systemoutprintln(i);}int count = 0;while (count < 3) {Systemoutprintln("Count: "+ count);count++;}count = 0;Systemoutprintln("Count: "+ count);count++;} while (count < 3);```(二)面向对象编程1、类与对象创建了自定义的类来表示现实世界中的实体。
java 实验报告
java 实验报告Java 实验报告引言:Java 是一种广泛应用于软件开发的计算机编程语言,具有跨平台、面向对象、简单易学等特点。
本实验报告将介绍我在学习 Java 过程中进行的一系列实验,包括实验目的、实验过程、实验结果和实验总结。
实验一:Hello World 程序实验目的:通过编写一个简单的 Hello World 程序,熟悉 Java 的开发环境和基本语法。
实验过程:1. 安装 Java Development Kit(JDK)并配置环境变量。
2. 使用文本编辑器编写以下代码:```javapublic class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}}```3. 将代码保存为 HelloWorld.java。
4. 打开命令提示符,切换到代码所在目录,输入以下命令编译代码:```javac HelloWorld.java```5. 输入以下命令运行程序:```java HelloWorld```实验结果:命令提示符中输出 "Hello, World!"。
实验二:数据类型和运算符实验目的:了解 Java 的数据类型和运算符,并能够正确使用它们进行计算。
实验过程:1. 声明并初始化不同类型的变量,例如整数、浮点数和布尔类型。
2. 使用算术运算符进行基本的数值计算。
3. 使用逻辑运算符进行布尔类型的操作。
实验结果:根据实验过程中的代码和输入,得到相应的计算结果。
实验三:条件语句和循环结构实验目的:掌握 Java 中的条件语句和循环结构,能够根据不同的条件执行相应的代码块。
实验过程:1. 使用 if-else 语句实现条件判断。
2. 使用 switch-case 语句实现多分支选择。
3. 使用 for 循环、while 循环和 do-while 循环实现不同的循环结构。
java实验报告5
《Java语言程序设计》上机实验报告(5)实验名称:实验五Java面向对象编程(2) 班级:软件工程 101姓名:周顺权学号: 110029026上机时间:指导教师:王华一、实验内容或题目:1.方法中参数传递---传值调用。
编写一个传值调用的程序。
2.方法中参数传递---调用对象方法。
编写一个调用对象方法的程序。
3.类的继承。
(1)首先预测下列程序的运行结果,然后编译、执行以验证你的预测:(2) 修改Dog类的构造函数,使之可以初始化Dog类中的weight值。
(3) 在Dog类中添加方法getWeight以获得其weight值(4) 修改类JLab0501,使用新的构造函数创建一个名为“snoopy”,重为10的Dog类的对象,并利用其方法输出包括重量在内的各项值。
(5) 要使Dog类对象的speak()方法返回值为“Woof Woof”,应如何做?修改(1)中程序,并验证你的做法。
4.方法的重载。
(1)首先预测下列程序的运行结果,然后编译、执行以验证你的预测:(2)在类JLab0502中添加下列方法:二、实验目的与要求:1.程序首先给整型变量x 和y 赋一个初值10,然后使用传值调用方式调用方法ff1对x 和y 做乘方及输出x 和y 的乘方值。
2.通过调用对象的方法在方法调用后修改了成员变量的值。
4.(2)编译该程序,观察报错信息,并思考原因。
三、实验步骤与源程序:(1)实验步骤a) 编辑源文件b) 编译c) 运行(2)源代码1:package test5;class XY{int x,y;void setX(int a){x=a;}void setY(int b){y=b;}int getX(){return x;}int getY(){return y;}void ff1(){x=getX()*getX();y=getY()*getY();System.out.println("x^2="+x);System.out.println("y^2="+y);}}public class Involution {public static void main(String args[]){XY xy=new XY();xy.setX(10);xy.setY(10);xy.ff1();}}2:package test5;public class KY3_6 {public static void main(String args[]) {Power p=new Power();p.ff2(10,10);System.out.println("方法调用后x="+p.x+", y="+p.y);}}class Power{int x=10, y=10;void ff2(int passX, int passY) {System.out.println("初始时x="+x+", y="+y);x=passX*passX;y=passY*passY;System.out.println("方法调用中x="+x+", y="+y);}}3(1):class Pet{protected String name;public Pet(String n){name = n;}public String getName(){return name;}public String move(){return "run";}public String speak(){return "";}public String toString(){return "My pet " + name;}}class Dog extends Pet{protected int weight;public Dog(String s){super(s);}}class JLab0501{public static void main(String[] args){Pet myPet = new Pet("George");Dog myDog = new Dog("Spot");System.out.println(myPet.toString() + "\n" + "Speak: " +myPet.speak() +"\n" + myPet.move() + " " +myPet.getName() + "\n");System.out.println(myDog.toString() + "\n" + "Speak: " +myDog.speak() +"\n" + myDog.move() + " " +myDog.getName() + "\n"); }}3(2),3(3),3(4),3(5)(已集合在一起):class Pet{protected String name;public Pet(String n){name = n;}public String getName(){return name;}public String move(){return "run";}public String speak(){return "";}public String toString(){return "My pet " + name;}}class Dog extends Pet{protected int weight=0;void setWeight(int a){weight=a;}int getWeight(){return weight;}public Dog(String s){super(s);// super是指向父类的指针可以通过该指针调用父类//的函数}public String speak(){return "woof woof";}}class JLab0501{public static void main(String[] args){Pet myPet = new Pet("George");Dog myDog = new Dog("Spot");Dog dog=new Dog(“snoopy”);dog.setWeight(10);System.out.println(myPet.toString() + "\n" + "Speak: " +myPet.speak() +"\n" + myPet.move() + " " +myPet.getName() + "\n");System.out.println(myDog.toString() + "\n" + "Speak: " +myDog.speak() +"\n" + myDog.move() + " " +myDog.getName() + "\n");System.out.println(dog.toString()+"\n"+"Speak:"+dog.speak()+"\n"+dog.m ove()+" "+dog.getName()+"\n"+"Weight:"+dog.getWeight()+"\n");}}4(1):public class JLab0502 {public static void test() {System.out.println("test() invoked");}public static int test(int i) {System.out.println("test(" + i + ") invoked");return i;}public static String test(String s) {System.out.println("test(" + s + ") invoked");return s;}public static void test(String s, int i) {System.out.println("test(" + s + ", " + i + ") invoked");}public static void test(int i, String s) {System.out.println("test(" + i + ", " + s + ") invoked");}public static void main(String[] args) {test();test(100);test("test");test("test",100);test(100,"test");}}4(2):添加方法:public static int test(int j) {System.out.println("test(" + j + ") invoked");return j;}四、测试数据与实验结果:1:2:3(1):猜测:My pet GeorgeSpeak:run GeorgeMy pet SpotSpeak:run Spot结果截图:3(2),3(3),3(4),3(5)(已集合在一起):4(1):猜想:test() invokedtest(100) invokedtest(test) invokedtest(test,100) invokedtest(100,test) invoked截图结果:4(2):重载必须保证参数不同。
Java实验五
实验五包、接口、类库与向量类一、实验目的(1)掌握创建包与引用包的方法;(2)掌握用接口实现多重继承的机制;(3)熟悉向量类的引入和使用。
二、实验内容1.基本指导指导内容1:包的创建和引用。
实验步骤:(1)开机后,在java实验目录下创建test5子目录。
本阶段的Java源程序都放在这个子目录中。
字节码文件则根据建包的情况放在test5相应的子目录中。
(2)打开一个纯文本编辑器,输入如下的代码:(3)将文件命名为DefiPackage.java,保存在java实验目录的test5子目录下。
(4)打开MS-DOS窗口,转到DefiPackage.java所在的目录,键入命令:javac -d . DefiPackage.java(5)键入Dir 命令,可以看到在test5子目录下创建了p1的子文件夹。
接着键入下面的命令以查看p1下的文件,可以看到DefiPackage.class存储在此文件夹下。
cd p1dir(3)、(4)、(5)的操作步骤如图5-1所示。
图5.1(6)在另一个文件中输入如下的代码:(8)编译并运行该程序,程序的运行结果如图5.2所示图5.2(9)在文件TestPackage.java中加入包定义语句:[package p2;],重新正确地编译和运行该程序,从中理解包的概念。
指导内容2:创建两个Vector类,分别记录凭证的名称和日期。
并根据给定的凭证日期,查询满足条件的凭证名称,或根据给定的凭证名称,查询凭证的日期。
实验步骤:(1)打开一个纯文本编辑器,输入如下的代码:(2)将文件命名为CreateVector.java,保存在java实验目录的test5子目录下。
(3)编译并运行该程序,程序的运行结果如图5-3所示。
图5-3(5)重新编译并运行该程序,程序的运行结果如图5-4所示。
图5-4(6)继续添加代码,查询当给定凭证名称为“收款凭证002”时的凭证日期。
2.练习思考练习内容:创建接口Speakable和Runner,然后创建两个类Dog和Person实现该接口。
java实验报告五
java实验报告五Java实验报告五一、引言Java是一种面向对象的编程语言,具有跨平台性、安全性和易学性等特点。
本实验报告将介绍我们在学习Java过程中进行的第五个实验。
二、实验目的本次实验的主要目的是通过实践进一步熟悉Java的基本语法和面向对象的编程思想,并掌握Java中的异常处理机制。
三、实验内容本次实验主要分为两个部分:实现一个简单的图书管理系统和异常处理。
3.1 图书管理系统我们设计了一个简单的图书管理系统,主要包括图书类、用户类和图书管理类。
图书类包含图书的基本信息,如书名、作者、出版社等;用户类包含用户的基本信息,如姓名、年龄、性别等;图书管理类实现了对图书和用户的管理功能,如添加图书、删除图书、借阅图书等。
3.2 异常处理在图书管理系统中,我们使用了异常处理机制来处理一些可能发生的异常情况,如图书馆中没有要借阅的图书、图书已被借完等。
我们使用try-catch语句来捕获异常,并根据具体情况进行相应的处理。
四、实验过程4.1 图书管理系统的实现首先,我们定义了图书类和用户类,并在类中定义了相应的属性和方法。
然后,我们创建了一个图书管理类,并在该类中实现了对图书和用户的管理功能。
最后,我们编写了一个测试类,通过创建对象并调用相应的方法来测试图书管理系统的功能是否正常。
4.2 异常处理在图书管理类的方法中,我们使用了try-catch语句来捕获可能发生的异常。
当出现异常时,程序会跳转到catch块中,并执行相应的处理代码。
我们根据具体情况,输出相应的错误信息或进行其他操作,以保证程序的正常运行。
五、实验结果通过测试,我们发现图书管理系统的功能正常运行,并且能够正确处理可能发生的异常情况。
我们成功添加了图书、删除了图书,并能够正确借阅和归还图书。
六、实验总结通过本次实验,我们进一步熟悉了Java的基本语法和面向对象的编程思想。
我们学会了如何设计和实现一个简单的图书管理系统,并掌握了异常处理的基本方法。
JAVA实验报告
JAVA实验报告一、实验目的本次 Java 实验的主要目的是通过实际编程操作,深入理解 Java 语言的基本语法、面向对象编程的概念以及常用类库的使用。
同时,培养自己解决实际问题的能力,提高编程的熟练程度和代码质量。
二、实验环境操作系统:Windows 10开发工具:EclipseJDK 版本:18三、实验内容及步骤(一)基本语法练习1、数据类型与变量定义不同类型的变量,如整数型(int)、浮点数型(float、double)、字符型(char)和字符串型(String),并进行赋值和输出操作。
了解不同数据类型的取值范围和精度,以及在实际编程中的应用场景。
2、控制结构编写使用 ifelse 语句、switch 语句进行条件判断的程序。
运用 for 循环、while 循环和 dowhile 循环实现重复执行的操作。
3、数组与字符串声明和初始化一维数组和二维数组,对数组元素进行访问和操作。
进行字符串的拼接、截取、查找等常见操作。
(二)面向对象编程实践1、类与对象定义一个简单的类,包含属性和方法。
创建该类的对象,并调用对象的方法来操作属性。
2、继承与多态建立父类和子类,实现继承关系。
在子类中重写父类的方法,展示多态性。
3、封装与抽象将类的属性设置为私有,并提供公共的访问方法(getter 和 setter),实现封装。
定义抽象类和抽象方法,体会抽象的概念和作用。
(三)常用类库的使用1、 Java 输入输出(IO)使用 Scanner 类实现从控制台读取用户输入的数据。
运用 File 类和相关的输入输出流类,实现文件的读取和写入操作。
2、集合框架熟悉 ArrayList、LinkedList 等线性集合的使用方法。
了解 HashSet、TreeSet 等集合的特点和应用场景。
3、异常处理在程序中加入可能引发异常的代码段,并使用 trycatch 语句捕获和处理异常。
四、实验结果与分析(一)基本语法练习1、数据类型与变量成功定义了各种数据类型的变量,并正确进行了赋值和输出。
太原理工大学java实验报告
课程名称:实验名称:实验地点:专业班级:学生姓名:指导教师:java 语言程序设计java 程序设计致向楼201学号:时间:年月日(1) 通过实验,掌握 Java 语言程序设计的基本方法。
(2) 学会 Java 语言中标示符的命名、运算符和表达式的应用。
(3) 熟练地掌握 Java 程序流程控制语句的应用。
(1) 编写应用程序,计算 100(含 100)以内所有偶数的和。
(2) “水仙花数”是指一个 3 位数,其个位、十位、百位上的数字的立方和等于该数本身,例如 371=33+73+13 ,因此 371 是一个水仙花数。
编写程序,求所有的水仙花数。
(3) 编写一个程序,求 1-100 间的素数。
(4) 有一函数:x (x<1)Y= 3x-2 (1≤x<10)4x (x≥10)写一程序,给定x 值,输出y 值。
(5) 使用 for 循环语句,编写程序输出以下图案。
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆(6) 编写程序,输出从公元 1900 年到 2100 年所有闰年的年号,每输出 5 个年号换一行。
判断年是否为闰年的条件是:① 若年号可以被 4 整除,而不能被 100 整除,则是闰年;② 若年号可以被 400 整除,也是闰年。
(1)package jzk_shiyan1;public class Zekang_oushuhe {public static void main(String[] args) {// TODO Auto-generated method stubint sum=0;for(int i=1;i<=100;i++)if(i%2==0){sum=sum+i;}System.out.println("100 以内的偶数和为:"+sum);}}(2) package jzk_shiyan1;public class Zekang_shuixianhua{public static void main (String[] args){int n=1000;for(int i=100;i<n;i++){int a=i/100,b=(i/10)- (a*10),c=i- ((100*a)+(10*b));if(i==a*a*a+b*b*b+c*c*c){System.out.println("水仙花数为: "+i);}}}}(3)package jzk_shiyan1;public class Zekang_sushu {public static void main(String[] args) {System.out.print("1-100 间的素数为: 2 ");// TODO Auto-generated method stubfor(int i=1;i<=100;i++){for(int a=2;a<=i-1;a++){if(i%a==0){break;}if(a>=(i-1)){System.out.print(i+" ");}}}}}(4)import java.util.Scanner;public class Zekang_hanshu {public static void main(String[] args) {int y=0;System.out.print("请输入一个数字: ");Scanner s=new Scanner(System.in);int x=s.nextInt();if(x<1)y=x;else if(x>=1&&x<10)y=3*x+2;else if(x>=10)y=4*x;System.out.print(y);}}(5)package jzk_shiyanyi;import java.io.*;public class Zekang_tuan {public static void main(String args[])throws IOException {for(int i=0;i<9;i++){if(i>1&&i%2==0);else{System.out.print("\n");for(int k=9;k>i/2;k--)System.out.print(" ");for(int j=0;j<i;j++){System.out.print("*");}}}for(int i=5;i>0;i--){if(i>1&&i%2==0);else{System.out.print("\n");for(int k=9;k>i/2;k--)System.out.print(" ");for(int j=0;j<i;j++){System.out.print("*");}}}}}(6)public class jzk_ruinian {public static void main(String[] args) {int num=0;for(int i=1900;i<=2100;i++){if((i%4==0&&i%100!=0) | | (i%400==0)){num++;if(num%5==0){System.out.println(i);}else{System.out.print(i+" ");}}}}}1.程序没有输出结果。
Java实验
实验一熟悉Java开发环境(验证性2学时)一、实验目的与要求:1 掌握Java Application程序的开发过程并编写第一个Java Application程序*2 掌握Java Applet程序的开发过程并编写第一个Java Applet程序。
*3 练习简单的HTML文件配合Java Applet使用。
4 熟悉jdk的使用二、实验内容:1 编写一个Java Application程序,在屏幕上显示”This is my first java program!”.*2 编写第一个Java Applet 程序,在屏幕上显示”This is my first Java Applet!”三、实验步骤:1、jdk的使用jdk开发工具包可以从网站下载,jdk不是集成编译环境,须手动运用命令行程序进行编译和解释执行1)编辑.java文件可以在记事本或其他纯文本编辑器中编辑,保存时把文件扩展名定为.java即可,当然要注意文件名命名的要求2)编译生成.class文件进入dos系统进行编译(如图1.1所示),格式如javac MyFirstApplication.java,要注意图1.1进入命令行看javac.exe的路径并且MyFirstApplication.java文件路径和javac.exe路径一样。
编译成功后就能在浏览器中看见多了一个MyFirsApplication.class或更多的.class文件。
如图1.2所示图1.2使用jdk编译MyFirstApplication.java文件3)解释执行Application程序:同样是在dos系统下解释执行,格式如java MyFirstApplication,注意.class后缀别加,如图1.3所示。
图1.3解释执行MyFirstApplication.class程序* applet程序进入dos系统进行编译,格式如javac MyFirstApplet.java,要注意看javac.exe的路径并且MyFirstApplet.java文件路径和javac.exe路径一样。
西北工业大学java实验报告.
Forth.java——
说明:编写图形界面的Java Applet,接受用户输入的一个整形数和一个浮点型数,单击按钮求两数之和。
实验1-5:
WaysOfTakingMoney.java——
说明:小明有5分、2分、1分硬币,想拿出1元钱,有几种拿法?给出所有拿法。实现方式不限。
在此题中运用了穷举法,列出了各种取法。
实验5-1:
FileInfor.java——
说明:编写一个图形化小工具,功能类似系统工具dir,可查看用户给定文件的创建时间、文件类型、文件大小等信息。
创建时间、文件大小等信息可直接通过file类取得,文件类型需要写方法判断,接受用户输入的文件名,截取其后缀,根据其后缀判断文件的类型。例如后缀为.java的是Java的源程序文件,后缀为.txt的是文本文件。注意提高程序的容错性(输入的格式的多样性和不确定性)。
实验4-1:
(1)Rectangular1.java——
(2)Rectangular2.java——
说明:在实验3第3题的基础上,分别实现下列5个步骤的要求。
Step1:
为实验3中定义的矩形类派生一个子类:正方形类。正方形类的操作同样是求周长和面积。则这个子类除了从父类继承来的方法之外,还需要定义哪些方法?列出正方形类的所有域与方法。编程验证所编写的正方形类。
在做本本题时原本真对26个字母分别设计了变量,后来进行了优化,运用了数组变量,大大减少了代码量。
实验4-3:
Palindrome.java——
说明:采用递归方法编程,检查一个任意给定的字符串是否是回文。
------------------------------------------------------------
java 实验5 接口多态 实验报告
实验五接口、多态与内部类实验目标:1、理解接口、塑型、多态的概念并能熟练应用;2、熟练掌握接口的定义和使用;3、深刻理解构造方法的调用顺序,理解编写时需要注意的问题;4、了解并学会使用内部类实验任务:1、继承时的多态:目测给出下面代码的执行输出结果,并简单解释每一行输出的原因。
答:首先,该程序的主函数是Vehicle v=new Vehicle();即先声明并实例化一个汽车对象,而v.test();则是调用汽车的测试方法;而test方法里,Vehicle vc=new Car();是将上面的汽车指向了一个具体的小汽车对象;Bus vb=new Bus();将公共汽车指向了一个具体的公共汽车对象;drive();调用汽车的驾驶方法;vc.drive();调用小汽车的驾驶方法;vb.drive();调用公共汽车的驾驶方法;而vc.brake();vb.brake();则是直接调用汽车的刹车方法。
因而运行结果如下:A new bus.Vehicle is drivenCar is drivenBus is drivenVehicle is brakedVehicle is braked2.针对下面的简单的类图,从面向对象的角度,将Instrument定义成接口,应怎样实现。
编写能完成如图功能的程序,并再编写一个简单的应用程序进行多态性测试。
(参考例子5-9;实验4该题是要求用抽象类来实现,在此要求用接口实现,还要进行多态性测试)说明:Instrument表示乐器、Wind表示管乐器、Percussion敲击乐器、Stringed表示弦乐器、Woodwind表示木管乐器、Brass表示铜管乐器。
要求:(1)Instrument为接口,Wind为抽象类,其他为普通类。
这里测试的目的是:我们知道当一个普通类实现一个接口时,必须实现该接口的全部方法,但当这个类是抽象类时,我们还需要实现该接口全部方法吗?如果不需要实现?那么是否直接不理这个方法就一,还是要将这个方法在自己类内部再标记一次为抽象方法。
华南农业大学农科Java上机实验
实验1 创建、编译与运行Java程序17268 计算两个整数得与从键盘输入两个整数,计算并输出两个整数得与。
import java、util、Scanner;public class Main {public static void main(String[] args) {int a,b;Scanner input = new Scanner(System、in);a=input、nextInt();b=input、nextInt();int c = a + b;System、out、println(c);}}17269 输出两个整数中得较大得值从键盘输入两个整数,判断并输出两个整数中较大得值。
import java、util、Scanner;public class Main {public static void main(String[] args) {int a,b;Scanner input = new Scanner(System、in);a=input、nextInt();b=input、nextInt();if(a>b)System、out、println(a);elseSystem、out、println(b);}}实验2 基本数据类型、运算与表达式18135 在显示屏上显示指定字符要求编写一个程序,在显示屏上显示如下内容。
注:类名必须为Main(大写M) C:\ABC、TXT is "file"public class Main {public static void main(String[] args) {System、out、print("C:\\ABC、TXT is \"file\"");} }18136 计算圆得面积由键盘输入圆得半径,计算并输出圆得面积,结果保留2位小数。
注:类名必须为Main(大写M)import java、util、Scanner;import java、text、DecimalFormat;public class Main {public static void main(String[] args) {double a,b,c;Scanner input = new Scanner(System、in);a = input、nextDouble();b = 3、14159;c = a*a*b;System、out、println(new DecimalFormat("#、##")、format(c));}}18138 输出三位整数得各位数字从键盘输入一个3位得整数,要求按照:个位、十位与百位得顺序输出三个数字。
java实验报告实验2答案(共5篇)
java实验报告实验2答案(共5篇)第一篇:java实验报告实验2答案互联网软件应用与开发实验指导书实验二熟悉Applet,GUI编程实验目的:本实验旨在巩固同学们对上课所讲Applet,异常处理,java的控制加深理解,图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法,对java的语法和编程有一个更加深入的理解,为同学们以后的能够用Java进行独立地编写桌面程序打下一定的基础。
了解如何使用布局管理器对组件进行管理,以及如何使用Java的事件处理机制。
实验内容:创建一个java项目,命名为experiment2。
(如何创建项目参考《实验一》的项目创建方法。
)(一)创建图形用户界面图形用户界面(Graphic User Interface,简称GUI)是为方便用户使用设计的窗口界面,在图形用户界面中用户可以看到什么就操作什么,取代了在字符方式下知道是什么后才能操作什么的方式。
组件(Component)是构成GUI的基本要素,通过对不同事件的响应来完成和用户的交互或组件之间的交互。
组件一般作为一个对象放置在容器(Container)内,容器是能容纳和排列组件的对象,如Applet、Panel(面板)、Frame(窗口)等。
通过容器的add方法把组件加入到容器中。
1.在Applet中添加标签、按钮并使用网格布局(1)程序功能在Applet 容器中添加组件标签、按钮,并使用网格布局管理器排列组件在容器中的位置。
(2)编写LX6_1.java 程序文件,源代码如下:import java.awt.*;import java.applet.Applet;public class LX6_1 extends Applet { Label l1;Button b1, b2, b3, b4, b5,b6;public void init(){互联网软件应用与开发实验指导书setLayout(new GridLayout(3,3));// 设置网格布局(3 行3 列共9 个网格)l1=new Label(“标签1”);b1 = new Button(“按钮1”);b2 = new Button(“按钮2”);b3 = new Button(“按钮3”);b4 = new Button(“按钮4”);add(l1);add(b1);add(b2);add(b3);add(newLabel());add(b4);add(new Button(“按钮5”));add(new Button(“按钮6”));add(new Label(“标签2”));} }(3)编译程序LX6_1.java。
Java实验五
Java实验五组件与事件处理【目的】①学习处理ActionEvent事件;②学习处理ItemEvent事件和paint方法;③学习使用布局类。
【内容】1.算术测试。
✧实验要求:编写一个算书测试小软件,用来训练小学生的算术能力。
程序由3个类组成,其中Teacher类对象负责给出算术题目,并判断回答者的答案是否正确;ComputerFrame类对象负责为算术题目提供视图,比如用户可以通过ComputerFrame类对象提供的GUI界面看到题目,并通过该GUI界面给出题目的答案;MainClass是软件的主类。
✧程序:Teacher.javapublic class Teacher{int numberOne, numberTwo;String operator = "";boolean right;public int giveNumberOne(int n){numberOne = (int)(Math.random() * n) + 1;return numberOne;}public int giveNumberTwo(int n){numberTwo = (int)(Math.random() * n) + 1;return numberTwo;}public String giveOperator(){double d = Math.random();if (d >= 0.5)operator = "+";elseoperator = "-";return operator;}public boolean getRight(int answer){if (operator.equals("+")){if (answer == numberOne + numberTwo)right = true;elseright = false;}else if (operator.equals("-")){if (answer == numberOne - numberTwo)right = true;elseright = false;}return right;}}ComputerFrame.javaimport java.awt.*;import java.awt.event.*;public class ComputerFrame extends Frame implements ActionListener {TextField textOne, textTwo, textResult;Button getProblem, giveAnwser;Label operatorLabel, message;Teacher teacher;ComputerFrame(String s){super(s);teacher = new Teacher();setLayout(new FlowLayout());textOne = new TextField(10); //创建textOne,其可见字符长是textTwo = new TextField(10); //创建textTwo,其可见字符长是textResult = new TextField(10); //创建textResult,其可见字符长是operatorLabel = new Label("+");message = new Label("你还没有回答呢");getProblem = new Button("获取题目");giveAnwser = new Button("确认答案");add(getProblem);add(textOne);add(operatorLabel);add(textTwo);add(new Label("="));add(textResult);add(giveAnwser);add(message);textResult.requestFocus();textOne.setEditable(false);textTwo.setEditable(false);getProblem.addActionListener(this);//将当前窗口注册为getProblem的ActionEvent事件监视器giveAnwser.addActionListener(this);//将当前窗口注册为giveAnwser的ActionEvent事件监视器textResult.addActionListener(this);//将当前窗口注册为textResult的ActionEvent事件监视器setBounds(100, 100, 450, 100);setVisible(true);validate();addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});}public void actionPerformed(ActionEvent e){if (e.getSource() == getProblem) //判断事件源是否是getProblem{int number1 = teacher.giveNumberOne(100);int number2 = teacher.giveNumberTwo(100);String operator = teacher.giveOperator();textOne.setText("" + number1);textTwo.setText("" + number2);operatorLabel.setText(operator);message.setText("请回答");textResult.setText(null);}if (e.getSource() == giveAnwser) //判断事件源是否是giveAnwser{String answer = textResult.getText();try{int result = Integer.parseInt(answer);if (teacher.getRight(result) == true){message.setText("你回答正确");}else{message.setText("你回答错误");}}catch (NumberFormatException ex){message.setText("请输入数字字符");}}textResult.requestFocus();validate();}}MainClass.javapublic class MainClass{public static void main(String args[]){ComputerFrame frame;frame = new ComputerFrame("算术测试");//创建窗口,其标题为:算术测试}}✧实验后的练习:1. 给上述程序增加测试乘、除的功能。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{ 【代码 1】 //参数 a,b,c 分别赋值给 sideA,sideB,sideC if(【代码 2】) //a,b,c 构成三角形的条件表达式 {
【代码 3】 //给 boo 赋值。 } else {
【代码 4】 //给 boo 赋值。 } } double getLength() { 【代码 5】 //方法体,要求计算出 length 的值并返回 } public double getArea() { if(boo)
import javax.swing.*;
public class drawline extends JApplet { ……..
public void init() { ……
input = JOptionPane.showInputDialog( "Enter 1 to draw lines\n" + "Enter 2 to draw rectangles\n" + "Enter 3 to draw ovals\n" );
实
实验类型
验
学
序项 实验名称
号目 编
学 时
必 做
选 分
做 数
基 验综设
本 证 合计
操
号
作
内容提要
Java 基础
1一
3
√
√
实验
熟 悉 Java 基 本 语 句 和 程 序控制结构
Java 应用
2 二 程序和小 3 √
应用程序
类与对象
3三
4√
类的静态 4 四 成员与实
例成员
2√
√ √
√
学 会 Java application 和 applet,以及 Eclipse 的使用
学生的成绩依次进行等级判断。如果成绩>=90, A; 89~80,B;79~70, C;69~60,D;<60, F。 2、程序中要求使用 inputScore()和 judegGrade()两个方法,分别执行成绩 的输入和成绩等级的判断。 3、实验结果如下图:
程序模版: import java.util.Scanner; public class Score { Scanner scanner; public Score(){ scanner = new Scanner(System.in); inputScore();
求这两个二维数组的乘积。 运行结果如下:
3.采用 applet 编写一个小应用程序。该程序通过让用户输入 1-3 数值中的一 个,实现线、方形、圆型绘制。要求用户提示采用 DialogBox。 程序运行结果如下: 提示:输入框使用:JOptionPane.showInputDialog() 通过查帮助文档,掌握 drawLine(),drawRect(), drawOval()方法的使用。 基本框架如下: import java.awt.Graphics;
《Java 程序设计》实验教学大纲
实验学时:32
实验个数:11
实验学分:1
课程性质:专业限选 适用专业:计算机科学与技术、软件工程、网络工程、电子商务
课
教材及参考书:
1. 《Java 语言程序设计》,郑莉等主编,北京:清华大学出版社,2006
2.《面向对象程序设计与 Java 语言》,周晓聪等著, 北京:机械工业出版社,2004
2. 实验要求
(一)编写一个 Java 应用程序,该程序中有 3 个类:Trangle、Lander 和 Circle,分别用来刻画“三角形”、“梯形”和“圆形”。具体要求如下: 1)Trangle 类具有类型为 double 的三个边,以及周长、面积属性,Trangle 类具
有返回周长、面积以及修改三个边的功能。此外,Trangle 类还具有一个 boolean 型的属性,该属性用来判断三个数能否构成一个三角形。完成上述 操作后,给 Trangle 再增加 3 个方法,分别用来返回 3 个边 sideA,sideB, sideC 的值。 2)Lander 类具有类型为 double 的上底、下底、高、面积属性,具有返回面积 的功能。 3)Circle 类具有类型为 double 的半径、周长和面积属性,具有返回周长、面积 的功能。
3. 程序运行效果
4. 模板代码
请按模版要求,将【代码】替换为 Java 程序代码 AreaAndLength.java
class Trangle {
double sideA,sideB,sideC,area,length; boolean boo; public Trangle(double a,double b,double c)
} public void inputScore(){
【代码 1】从键盘读入十个成绩(int s=scanner.nextInt();) String grade = judgeGrade(s); System.out.println("Grade" + s +"is"+ grade); } } public String judgeGrade(int score){ 【代码 2】对输入成绩进行判断 } public static void main(String[] args) {
要求:
1)存款总金额=本金 *(1+利率)存款年限 amount = principal * Math.pow( 1.0 + rate, year );
2)分别使用 Application, applet, 和 DialogBox 完成。 2、已知两个二维数组 a,b,其初值如下:
int a[][]=,5,2,8},{5,9,10,-3},{2,7,-5,-18} };
二、实验课程目的与要求
1.实验目的: 开设该课程设计,目的是让学生在掌握了 Java 程序设计的基本知识、基本理论方面
后,能熟悉 Java 编程的思想和编程技巧,培养学生分析问题和解决问题的能力及技巧。实 验设计覆盖 Java 程序设计中主要的方法。该课程以讲授、演示和实验法相结合。按照重视 基础,突出重点的原则进行。通过程序设计培养学生的程序设计能力、解决和分析问题的 能力,使学生对所学的内容有更深入的理解,逐步掌握 Java 编程方面的技巧。 2. 实验要求:
radius=newRadius; } double getRadius() {
double above,bottom,height,area; Lader(double a,double b,double h) { 【代码 10】 //方法体,将参数 a,b,c 分别赋值给 above,bottom,height } double getArea() { 【代码 11】 //方法体,,要求计算出 area 返回 } }
从所给题目中任选一题, 并按要求完成
实验 1 Java 基础实验 实验目的:
1)掌握 Java application、applet、DialogBox 的区别。 2)学会在 Eclipse 下编译、调试和运行程序。 3)掌握 Java 中控制语句、循环语句、数组的使用。 实验内容: 1、用 Java applet 和 application 分别编写一个程序进行 10 年存款的本息计算。
class Circle {
double radius,area; Circle(double r) {
【代码 12】 //方法体 } double getArea() {
【代码 13】 //方法体,要求计算出 area 返回 } double getLength() { 【代码 14】 //getArea 方法体的代码,要求计算出 length 返回 } void setRadius(double newRadius) {
√ √
学会声明用户自己的异常 类。 掌握异常的抛出和捕获的 应用
掌握接口的实现方式 使用实现了接口的类 理解接口与抽象类的区别
√
学会构造函数重载
√
√ √
√
理解子类派生的概念 学习创建子类对象 掌握方法覆盖的使用 掌握上转型对象的使用 学习创建子类对象和继承 了解多态的应用
掌握 GUI 设计及事件处理
(1) 实验安排在上机时间进行,如在上机时间不能完成可课后完成,到期交经过编译 并能正常运行的软件。
(2) 实验以前,学生应对实验设计的相关知识点和相关设计技术有所了解。
(3) 每个实验都要求写出实验报告(实验报告包括:实验内容、目的、实现方法、调 试结果)。
三、实验项目及内容提要
《Java 程序设计》实验课程
使用类来封装对象的属性 和功能;学会构造函数的 使用和初始化 掌握静态成员与实例成员 的区别 学会使用类的静态成员
Java 异常
5 五 处理
2√
接口的实 6 六现
2√
构造函数
7七
4
的使用
子类的派
8 八 生与方法 4
覆盖
上转型对 9 九 象及多态 4
10 十 图形及事 4 件处理
11 十 学期综合 一 实验
大纲执笔人:郭涛 大纲审定人:李晓宁
一、实验课的性质与任务
Java 语言是新兴起的面向对象程序设计语言,用于应用程序设计,尤其是应用在网 络、因特网和移动设备上。为培养学生网络应用程序的编程能力,在学生具有一定的计算 机和网络知识的基础上开设 Java 程序设计课程,使学生能够运用 Java 语言作为完成应用 程序设计的基本工具。本课程将从面向对象的基本概念入手,结合课程设计,较为系统地 介绍 Java 语言的主要特征和编程方法,包括:类型与转换、类的声明与对象产生、继承与 多态性、包与接口、数组与字符串、多线程编程以及异常处理、JDBC 等内容。通过相关 的实验设计,使学生具有一定的网络编程能力。