JAVA实验报告四(实现String类)

合集下载

java实验报告总结_java总结范文

java实验报告总结_java总结范文

java实验报告总结_java总结范文
实验报告总结
通过本次实验,我对Java语言的基本语法和面向对象的编程思想有了更深入的了解。

在实验过程中,我学会了如何定义类和对象,以及如何使用封装、继承和多态等特性来进
行编程。

在实验一中,我通过编写一个简单的Java程序,熟悉了Java的基本语法和标准输入
输出的操作。

我了解了Java的数据类型和运算符,并能够使用if语句和循环结构来实现
程序逻辑。

通过这个实验,我掌握了基本的程序设计能力。

在实验二中,我学习了面向对象的编程思想,并通过编写一个学生管理系统来实践。

我定义了一个Student类,使用封装来隐藏内部细节,并定义了一些方法来实现对学生对
象的操作。

我还使用继承来创建了一个Teacher类,体会到了面向对象编程中的继承和多
态的概念。

通过这个实验,我进一步提高了程序设计的能力。

在实验三中,我学习了异常处理的方法,并通过编写一个简单的图书管理系统来实践。

在程序中,我使用try-catch语句来捕获和处理异常,保证程序的健壮性。

通过这个实验,我对异常处理有了更深入的理解。

在实验四中,我学习了Java中的线程编程,并通过编写一个简单的多线程程序来实践。

在程序中,我使用了Thread类和Runnable接口来创建线程,并学会了如何控制线程的执
行顺序和共享数据。

通过这个实验,我对多线程编程有了初步的了解。

通过这些实验,我对Java语言有了更深入的了解,并提高了自己的编程能力。

在今后的学习和工作中,我将继续学习和实践,提高自己的编程水平。

java编程实验报告

java编程实验报告

java编程实验报告Java编程实验报告引言:Java是一种广泛应用于软件开发领域的高级编程语言,具有跨平台、面向对象、安全性高等特点。

本篇文章将介绍我在Java编程实验中的实践和收获。

实验一:Hello World程序在本实验中,我学习了如何使用Java编写一个简单的Hello World程序。

通过这个实验,我了解了Java的基本语法和程序结构。

在编写过程中,我发现Java的语法规范相对严格,需要注意语句的结束符号和代码的缩进。

通过运行程序,我成功输出了"Hello World"这个简单的字符串,这让我对Java编程的基本流程和语法有了更深入的了解。

实验二:变量与运算符在本实验中,我学习了Java中的变量和运算符的使用。

通过编写程序,我实现了对不同类型的变量进行声明和赋值,并进行基本的运算操作。

在这个过程中,我发现Java的变量需要先声明后使用,而且在进行运算时需要注意数据类型的匹配。

通过这个实验,我对Java中的变量和运算符有了更深入的理解。

实验三:条件语句与循环结构在本实验中,我学习了Java中的条件语句和循环结构的使用。

通过编写程序,我实现了对不同条件进行判断,并根据不同的条件执行相应的操作。

同时,我还学习了循环结构的使用,通过循环语句实现了对一段代码的重复执行。

在这个实验中,我发现条件语句和循环结构是Java编程中非常重要的部分,能够帮助程序实现更复杂的逻辑。

实验四:数组和字符串在本实验中,我学习了Java中数组和字符串的使用。

通过编写程序,我实现了对数组和字符串的声明、赋值和操作。

在这个过程中,我发现Java中的数组和字符串是一种非常方便的数据结构,能够帮助程序处理大量的数据。

通过这个实验,我对Java中数组和字符串的使用有了更深入的了解。

实验五:面向对象编程在本实验中,我学习了Java中的面向对象编程的基本概念和使用。

通过编写程序,我实现了对类的定义、对象的创建和方法的调用。

java 中实现 string串直接计算的方法

java 中实现 string串直接计算的方法

java 中实现 string串直接计算的方法在Java中,有很多种方法可以实现对字符串直接进行计算,比如使用内置的String类方法、正则表达式、字符串拼接、字符串分割等。

下面我将逐一介绍这些方法的使用方式和注意事项。

1.使用String类方法进行计算String类是Java中用来表示字符串的类,它提供了很多常用的方法来操作字符串,在字符串直接计算中也可以使用这些方法。

比如,可以使用charAt()方法来获取字符串中指定位置的字符,使用length()方法来获取字符串的长度,使用indexOf()方法来查找指定字符或子字符串在字符串中的位置等。

另外,String类中还提供了一些方法来对字符串进行拼接、替换、转换大小写等操作。

这些方法可以在直接计算中用来完成一些简单的字符串操作,比如将两个字符串拼接在一起、将字符串转换为大写或小写、将字符串中指定字符替换为其他字符等。

2.使用正则表达式进行计算正则表达式是一种强大的字符串匹配和处理工具,在Java中可以使用java.util.regex包中的Pattern和Matcher类来实现对字符串的正则表达式匹配。

使用正则表达式可以实现对字符串中特定模式的匹配、提取和替换操作,从而实现对字符串的计算。

比如,可以使用Pattern类的compile()方法来编译正则表达式模式,然后使用Matcher类的find()方法来查找匹配的部分,使用group()方法来获取匹配的子字符串,使用replaceFirst()或replaceAll()方法来替换匹配的部分等。

3.使用字符串拼接进行计算字符串拼接是一种常用的字符串操作方法,在Java中可以使用加号(+)来实现字符串拼接。

比如,可以使用加号将多个字符串拼接在一起,也可以将字符串和其他数据类型(比如数字、布尔值)拼接在一起,从而实现字符串的直接计算。

需要注意的是,在进行字符串拼接时要注意避免产生大量的临时字符串对象,这样会占用大量的内存和影响性能。

实验报告四

实验报告四
}
}
classCircle implements Shape{
private doubler;
publicCircle(doubler){
?
}
public double size(){
?
}
}
public class Count{
public static void main(String args[]){
at ClassTest.main(ClassOne.java:12)
3)保持ClassOne.java第一行的public,修改第四行getVar的访问范围分别为public、private、protected,分析ClassTest.java程序有何变化?
一、Exception in thread "main" ng.Error: Unresolved compilation problems:
2.了解Java中包(package)、接口(interface)的作用
3.掌握Java中的继承机制及包、接口等的设计方法









1.解释下面的程序运行的结果输出为什么是null
public class My{
String s;
public void My(){
s=”Constructor”;
The method getVar() is undefined for the type ClassOne
The method getVar() is undefined for the type ClassTest
at ClassTest.main(ClassOne.java:13)

java实验报告

java实验报告

java实验报告Java 实验报告一、实验目的本次 Java 实验的主要目的是通过实际编程操作,深入理解和掌握Java 语言的基本语法、面向对象编程的概念和方法,以及常用类库的使用。

同时,培养我们的问题解决能力、逻辑思维能力和代码规范意识,为今后的软件开发工作打下坚实的基础。

二、实验环境1、操作系统:Windows 102、开发工具:Eclipse IDE for Java Developers3、 JDK 版本:JDK 18三、实验内容本次实验共包括以下三个部分:1、 Java 基本语法练习变量与数据类型运算符与表达式控制流语句(ifelse、for、while、dowhile)数组2、面向对象编程实践类与对象的定义和使用构造函数与方法重载封装、继承与多态抽象类与接口3、 Java 常用类库应用String 类与字符串操作集合框架(ArrayList、HashMap)文件输入输出(File、FileReader、FileWriter)四、实验步骤及代码实现1、 Java 基本语法练习变量与数据类型:```javapublic class VariableDataType {public static void main(String args) {int age = 20;double salary = 50005;String name ="张三";boolean isStudent = true;Systemoutprintln("年龄:"+ age);Systemoutprintln("工资:"+ salary);Systemoutprintln("姓名:"+ name);Systemoutprintln("是否是学生:"+ isStudent);}}```运算符与表达式:```javapublic class OperatorExpression {public static void main(String args) {int num1 = 10;int num2 = 5;int sum = num1 + num2;int difference = num1 num2;int product = num1 num2;int quotient = num1 / num2;int remainder = num1 % num2; Systemoutprintln("和:"+ sum);Systemoutprintln("差:"+ difference);Systemoutprintln("积:"+ product);Systemoutprintln("商:"+ quotient);Systemoutprintln("余数:"+ remainder);}}```控制流语句:```javapublic class ControlFlowStatement {public static void main(String args) {// ifelse 语句int score = 80;if (score >= 90) {Systemoutprintln("优秀");} else if (score >= 80) {Systemoutprintln("良好");} else if (score >= 70) {Systemoutprintln("中等");} else if (score >= 60) {Systemoutprintln("及格");} else {Systemoutprintln("不及格");}// for 循环for (int i = 1; i <= 5; i++){Systemoutprintln("第" + i +"次循环");}// while 循环int j = 1;while (j <= 5) {Systemoutprintln("第" + j +"次 while 循环");j++;}// dowhile 循环int k = 1;do {Systemoutprintln("第" + k +"次 dowhile 循环");k++;} while (k <= 5);}}```数组:```javapublic class ArrayExample {public static void main(String args) {//一维数组int numbers ={1, 2, 3, 4, 5};for (int num : numbers) {Systemoutprintln(num);}//二维数组int matrix ={{1, 2, 3},{4, 5, 6},{7, 8, 9}};for (int row : matrix) {for (int num : row) {Systemoutprint(num +"");}Systemoutprintln();}}}```2、面向对象编程实践类与对象的定义和使用:```javapublic class Person {private String name;private int age;public Person(String name, int age) {thisname = name;thisage = age;}public void showInfo(){Systemoutprintln("姓名:"+ name +",年龄:"+ age);}public static void main(String args) {Person person1 = new Person("张三", 20);person1showInfo();}}```构造函数与方法重载:```javapublic class ConstructorOverloading {private String name;private int age;public ConstructorOverloading(String name) {thisname = name;}public ConstructorOverloading(String name, int age) {thisname = name;thisage = age;}public void showInfo(){if (age == 0) {Systemoutprintln("姓名:"+ name);} else {Systemoutprintln("姓名:"+ name +",年龄:"+ age);}}public static void main(String args) {ConstructorOverloading person1 = new ConstructorOverloading("张三");person1showInfo();ConstructorOverloading person2 = new ConstructorOverloading("李四", 25);person2showInfo();}}```封装、继承与多态:```java//父类class Animal {private String name;public Animal(String name) {thisname = name;}public void eat(){Systemoutprintln(name +"正在吃东西");}}//子类继承父类class Dog extends Animal {public Dog(String name) {super(name);}public void bark(){Systemoutprintln(name +"在叫");}}public class InheritancePolymorphism {public static void main(String args) {Animal animal = new Dog("小黑");animaleat();//向下转型为 Dog 类型调用 bark 方法if (animal instanceof Dog) {Dog dog =(Dog) animal;dogbark();}}}```抽象类与接口:```java//抽象类abstract class Shape {abstract void draw();}//实现抽象类的子类class Circle extends Shape {@Overridevoid draw(){Systemoutprintln("画一个圆");}}//接口interface Moveable {void move();}//实现接口的类class Car implements Moveable {@Overridepublic void move(){Systemoutprintln("汽车在移动");}}public class AbstractInterfaceExample {public static void main(String args) {Shape shape = new Circle();shapedraw();Moveable car = new Car();carmove();}}```3、 Java 常用类库应用String 类与字符串操作:```javapublic class StringOperation {public static void main(String args) {String str1 ="Hello, ";String str2 ="World!";String str3 = str1 + str2;Systemoutprintln(str3);int length = str3length();Systemoutprintln("字符串长度:"+ length);char charAt = str3charAt(5);Systemoutprintln("第 5 个字符:"+ charAt);boolean contains = str3contains("World");Systemoutprintln("是否包含 World:"+ contains);}}```集合框架(ArrayList、HashMap):```javaimport javautilArrayList;import javautilHashMap;import javautilMap;public class CollectionFramework {public static void main(String args) {// ArrayListArrayList<String> names = new ArrayList<>();namesadd("张三");namesadd("李四");namesadd("王五");for (String name : names) {Systemoutprintln(name);}// HashMapHashMap<String, Integer> ages = new HashMap<>();agesput("张三", 20);agesput("李四", 25);agesput("王五", 30);for (MapEntry<String, Integer> entry : agesentrySet()){Systemoutprintln(entrygetKey()+"的年龄是" +entrygetValue());}}}```文件输入输出(File、FileReader、FileWriter):```javaimport javaioFile;import javaioFileReader;import javaioFileWriter;import javaioIOException;public class FileIOExample {public static void main(String args) {//写入文件try (FileWriter writer = new FileWriter("outputtxt")){writerwrite("这是写入文件的内容");} catch (IOException e) {eprintStackTrace();}//读取文件try (FileReader reader = new FileReader("outputtxt")){int character;while ((character = readerread())!=-1) {Systemoutprint((char) character);}} catch (IOException e) {eprintStackTrace();}}}```五、实验结果与分析1、 Java 基本语法练习变量与数据类型:能够正确定义和使用各种数据类型的变量,并进行基本的运算和输出。

java实训报告总结与心得(优秀5篇)

java实训报告总结与心得(优秀5篇)

java实训报告总结与心得(优秀5篇) java实训报告总结与心得篇1短短的一个月很快就过去了,在这短短的一个月里,我学到了很多,了解了很多。

在这一个月里我学到了有关JAVA等方面的知识,了解了关于软件开发的流程。

了解了自己的不足,知道了自己努力的方向。

回顾这次的实训,这次或许是最后的实训机会。

我是一名大二的学生,明年或许就要出去实习了,所以我很珍惜这次的实训机会,因为它能够让我了解自己的不足以及以后自己努力的方向,同时也能让我了解软件开发的流程,增加一点软件开发经验和社会经验。

让我在以后的实习中会更好的融入到其中,增加自己的就业机会,因为纵观现在的就业形势很不让人乐观,由于之前的经济危机,就业机会越来越少,就业也越来越难,这就给了我们很大的压力,所以要是没有真本事,就业岗位就无从谈起,因此,在以后的学习中,我会更加好好努力。

通过这次的实训,我学到了很多:首先,对JAVA识比以前有了更深的了解。

在这之前由于种.种原因我JAVA 学的很不好,编程我几乎写不出来。

但经过这次的实训,我对JAVA的理解,虽然还有很多都不懂,但我会在今后的实训和学习中加以学习了解,力求弄懂,增强自己对JAVA的理解。

其次,在这次的实训中我的动手操作能力有了一点的提高,刚开始的时候JDK的配置,数据库的安装都出现了一定的问题,JAVA 可实话开发工具的不熟悉,所以开始的时候进程很慢,时间都用在了JDK的配置,数据库的安装以及熟悉JAVA可视化开发工具上,但付出有了回报,成功的配置了JDK,安装了数据库,熟悉了JAVA可视化开发工具,总的说来,自己还是有一定的收获的。

因为自己的动手操纵能力得到了提高。

最后是团队协作。

在整个项目完成过程中团队协作有着不可替代的作用。

从在刚拿到项目时对项目的分析到最后的项目完结的都有一定的体现。

刚拿到项目时,我们团队进行了分析,并分配了各自的任务。

当我们其中一人遇到问题的时候,我们其他人都会去帮忙,效率提升了很多。

java中string类的用法

java中string类的用法

java中string类的用法String类是Java中最基础的类之一。

它用于表示字符序列,即一串字符。

每个字符串都是String类的一个实例,这意味着可以使用String类中的方法来操作字符串。

1. 声明字符串变量在Java中,使用String关键字声明一个字符串变量。

例如,下面是声明一个名为str 的字符串变量的示例:String str = "Hello World";2. 字符串连接可以使用加号来将两个字符串连接起来。

例如,下面是用加号将两个字符串连接起来的示例:String str1 = "Hello";String str2 = "World";String str3 = str1 + " " + str2;此时,str3中存储的就是"Hello World"这个字符串。

通过调用字符串的length()方法,可以获取字符串的长度。

例如:在这个例子中,变量length的值为11,因为"Hello World"总共有11个字符。

可以使用equals()方法来比较两个字符串是否相等。

例如:在这个例子中,变量isEqual将被设置为true,因为str1和str2都是"Hello"这个字符串。

可以使用indexOf()方法来查找字符串中某个字符或子字符串的位置。

例如:可以使用substring()方法截取一个字符串的一部分。

例如:在这个例子中,subString的值为"World",它是从str字符串的第7个字符开始的,一直到第11个字符。

总结:。

java实验报告作业

java实验报告作业

java实验报告作业
《Java实验报告作业》
一、实验目的
本次实验的目的是通过编写Java程序来加深对Java语言的理解和掌握,以及
提高编程能力和解决问题的能力。

二、实验内容
1. 编写一个简单的Java程序,实现对输入数字进行排序的功能。

2. 编写一个Java程序,实现对输入字符串进行反转的功能。

3. 编写一个Java程序,实现对输入数组进行查找指定元素的功能。

三、实验步骤
1. 首先,我编写了一个名为NumberSort的Java类,其中包含一个sort方法,
用于对输入的数字进行排序。

2. 然后,我编写了一个名为StringReverse的Java类,其中包含一个reverse方法,用于对输入的字符串进行反转。

3. 最后,我编写了一个名为ArraySearch的Java类,其中包含一个search方法,用于对输入的数组进行查找指定元素。

四、实验结果
经过编写和调试,我成功实现了以上三个功能,并且在测试中都得到了正确的
结果。

五、实验总结
通过本次实验,我进一步加深了对Java语言的理解和掌握,同时也提高了自己
的编程能力和解决问题的能力。

我相信通过不断地实践和学习,我会在编程领
域取得更大的进步。

同时,我也意识到在编写程序时要注重细节,以确保程序的正确性和稳定性。

希望在今后的学习和工作中能够不断提升自己,成为一名优秀的程序员。

java_实验四

java_实验四

武汉工程大学计算机科学与工程学院实验报告[4]一、实验目的1)了解Java.awt包及Swing的新增特性。

2)了解Java系统图形用户界面的基本工作原理和界面设计的步骤。

3)了解图形用户界面的事件响应机制。

4)了解图形用户界面各种常用的基本组件的使用方法及其事件响应。

5)掌握Java常用组件的应用6)掌握图形用户界面各种布局策略的设计与使用二、实验要求1)创建一个简单的图形用户界面。

2)使用Java类库中提供的组件,并添加到图形用户界面中。

3)通过Java事件处理机制,实现与用户的交互信息。

4)练习使用布局管理器5)使用Java类库中提供的组件,并添加到图形用户界面中6)通过Java事件处理机制,实现与用户的交互信息三、实验内容对一个优秀的应用程序来说,良好的图形用户界面是必不可少的。

因为只有通过图形界面,用户才能够与程序友好的交互。

缺少良好的图形用户界面,将会给用户理解和应用程序带来很多不便。

创建一个完整的图形用户界面的应用程序大致流程如下:1)引用需要的包和类。

2)设置一个顶层的容器。

3)根据需要为容器设置布局管理器或使用默认布局管理器。

4)将组件添加到容器内,位置自行设计。

5)为响应事件的组件编写事件处理代码。

下面我们先建立一个简单的图形用户界面,然后通过合适的布局管理器,将各种常用组件添加到图形用户界面中,实现与用户的交互信息。

1. 创建简单的图形用户界面(1)创建简单的 Frame 框架在 AWT 库中,对应于框架的类是 Frame,在 Swing 库中,相应的类是 JFrame。

JFrame 类扩展了 Frame 类。

大部分 ATWT 组件在 Swing 中都有等价的组件,它们在表示形式上差一个“J”。

框架是一个容器,可以在这个容器中放入其他一些图形用户界面组件,如按钮、菜单等,从而组成一个功能完善的程序。

下面的例子是建立一个 Frame 框架,通过这个例子学习如何创建一个简单的图形用户界面。

JAVA实验报告

JAVA实验报告

JAVA实验报告实验题目:Java语言基础实验实验目的:1. 熟悉Java语言的基本语法,掌握Java程序的编写和运行方法;2. 掌握Java中的数据类型、运算符、流程控制语句等基本知识;3.提高对面向对象编程思想的理解和应用能力。

实验内容:1. 编写一个Java程序,输出“Hello, Java!”;2. 编写一个Java程序,声明变量并进行运算操作;3. 编写一个Java程序,实现条件判断和循环控制;4. 编写一个Java程序,定义类和对象,并进行方法调用。

实验步骤:1. 编写第一个Java程序,输出“Hello, Java!”:```javapublic class HelloWorldpublic static void main(String[] args)System.out.println("Hello, Java!");}```2. 编写第二个Java程序,声明变量并进行运算操作:```javapublic class Calculationpublic static void main(String[] args)int a = 10;int b = 5;int sum = a + b;int difference = a - b;int product = a * b;double quotient = (double) a / b;System.out.println("Sum: " + sum);System.out.println("Difference: " + difference); System.out.println("Product: " + product); System.out.println("Quotient: " + quotient);}```3. 编写第三个Java程序,实现条件判断和循环控制:```javapublic class Conditionalpublic static void main(String[] args)int num = 10;if (num > 0)System.out.println("Positive number");} else if (num < 0)System.out.println("Negative number");} elseSystem.out.println("Zero");}for (int i = 1; i <= 5; i++)System.out.println("Count: " + i);}}```4. 编写第四个Java程序,定义类和对象,并进行方法调用:```javapublic class PersonString name;int age;public void introducSystem.out.println("Name: " + name);System.out.println("Age: " + age);}public static void main(String[] args)Person person1 = new Person(; = "Alice";person1.age = 25;person1.introduce(;Person person2 = new Person(; = "Bob";person2.age = 30;person2.introduce(;}```实验结论:通过本次实验,我进一步熟悉了Java语言的基本语法和编程思想,掌握了Java程序的编写和运行方法。

java实验报告实验报告java实验报告Java

java实验报告实验报告java实验报告Java

java实验报告实验报告java实验报告Java一、实验目的本次实验的目的是熟悉Java语言,了解Java程序结构,掌握Java程序的开发流程,加深对Java语言特性的认识和理解。

二、实验内容本次实验内容为设计一个简单的Java程序,包括设计程序的需求分析、设计方案、编写代码、测试运行结果等环节。

三、实验分析3.1 需求分析设计一个Java程序,要求该程序能够实现以下功能:1. 用户可以输入两个数,程序可以对这两个数进行加、减、乘、除的操作,并输出运算结果。

2. 用户可以输入一个字符串,程序可以对该字符串进行反转输出。

3.2 设计方案根据需求分析,我们可以先设计一个简单的界面,包括输入框、选择运算符号的下拉框,以及一个按钮,当用户输入完毕后点击按钮即可进行相应的操作。

3.3 编写代码根据设计方案,我们先编写一个简单的界面代码:import java.awt.*;import javax.swing.*;public class Calculator extends JFrame {private JTextField text1, text2, text3;private JComboBox<String> combo;private JButton calcBtn, reverseBtn, factBtn;public Calculator() {super("Calculator");text1 = new JTextField(5);text2 = new JTextField(5);text3 = new JTextField(10);combo = new JComboBox<String>(new String[]{"+", "-", "*", "/"});calcBtn = new JButton("Calculate");reverseBtn = new JButton("Reverse");factBtn = new JButton("Factorial");JPanel panel2 = new JPanel();panel2.add(new JLabel("String:"));panel2.add(text3);panel2.add(reverseBtn);pack();setVisible(true);setDefaultCloseOperation(EXIT_ON_CLOSE);}该界面中包含了3个面板,一个用于加减乘除,一个用于字符串反转,一个用于阶乘操作。

java实验四报告

java实验四报告

实验4 继承与多态一、实验目的与要求1、掌握类的继承关系和派生方法;2、掌握多态的概念与使用;3、掌握接口的定义与使用;二、实验内容继承与多态:编写一个类SuperClass,有成员数据和成员方法,另一个SubClass 为SuperClass的子类,编写一个接口,增加与SuperClass同名成员数据和成员方法,增加和SuperClass成员异名的成员数据和成员方法;在主方法里面调用这些成员方法,并输出这些成员数据。

三、实验器材微机+windows操作系统+eclipse四、实验步骤package shiyansi;public interface study {public abstract void printmessage();}package shiyansi;public class Surperclass {protected int x=2;protected String y="our university is very beautiful";public void set(int xx,String yy){x=xx;y=yy;}public void show(){System.out.println("now we use superclass"+"\tx="+x);}package shiyansi;public class Subclass extends Surperclass implements study { protected int x=5;protected String z;public void set(int xx,String zz){x=xx;z=zz;}public void show(){System.out.println("this is subclass"+"\tx="+x);}public void printmessage(){System.out.println("subclass member are "+"\tx="+x+"\ty="+y+"\tz="+z);}}package shiyansi;public class test {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubSurperclass sa=new Surperclass();Subclass sb=new Subclass();///继承System.out.println("继承测试");sa.show();sb.show();sa.set(200, "super is father class");sb.set(300, "sub is son class");sb.printmessage();//////多态System.out.println("多态测试");sa=new Subclass();sa.show();study st=new Subclass();st.printmessage();}}五、实验结果继承测试now we use superclass x=2this is subclass x=5subclass member are x=300 y=our university is very beautiful z=sub is son class多态测试this is subclass x=5subclass member are x=5 y=our university is very beautiful z=null六、实验小结1、通过这个实验加深了对继承的理解:不同访问控制的超类成员在影响能否在子类中被继承。

java 字符串操作实验报告

java 字符串操作实验报告

Java程序设计实验报告班级:电气F1104学号:201123910723姓名:曹俊波指导老师:魏蔚一、实验题目实验七:字符串操作二、实验内容1)完成String类型字符串的比较、比较两个字符串是否相同。

2)完成StringBuffer字符串的操作、字符串的反转String与StringBuffer。

3)使用main()方法、输出命令行上输入的字符串。

三、实验步骤1)比较两个字符串是否相同。

实验一的源程序:public class Test {public static void main(String[] args) {String s1=new String("SunDay");String s2=new String("SunDay");String s3="SunDay";String s4="SunDay";System.out.println("s1==s2? "+((s1==s2)?true: false));System.out.println("s3==s4? "+((s3==s4)? true: false));System.out.println("s2==s3? "+((s2==s3)? true: false));System.out.println("s2 equals s3? "+s1. equals(s2));}}第一步:先在D盘建一个“工作目录”的文件夹。

在文件夹内建一个“txt”格式的文本文件并把它改成“java”格式的文件并命名成“Test”。

并把以上的源程序输入到这个文档中保存第二步:配置环境变量。

环境变量配置成后进行下一步。

第三步:编译运行、打开Dos命令窗口,输入“javac Test.java”命令对源程序进行编译操作。

java编程基础实验报告

java编程基础实验报告

java编程基础实验报告Java编程基础实验报告一、引言Java是一种广泛应用于软件开发领域的高级编程语言,具有跨平台的特性,因此备受开发者的青睐。

本篇实验报告将介绍我在学习Java编程基础过程中所进行的实验,并总结实验结果和心得体会。

二、实验目的本次实验的主要目的是通过编写Java程序,加深对Java编程语言的理解和掌握,提高编程能力和解决问题的能力。

三、实验内容1. 实验环境搭建在开始实验之前,我首先搭建了Java编程环境。

我选择了使用Eclipse作为集成开发环境(IDE),并安装了Java开发工具包(JDK)。

2. 实验一:Hello World程序在第一个实验中,我编写了一个简单的Hello World程序。

该程序的功能是在控制台输出"Hello, World!"。

通过这个实验,我熟悉了Java程序的基本结构和语法规则。

3. 实验二:变量和数据类型在第二个实验中,我学习了Java中的变量和数据类型。

我编写了一个程序,实现了两个整数相加并输出结果的功能。

通过这个实验,我掌握了Java中的基本数据类型和变量的声明和使用方法。

4. 实验三:条件语句和循环语句在第三个实验中,我学习了Java中的条件语句和循环语句。

我编写了一个程序,实现了判断一个数是否为偶数并输出结果的功能。

通过这个实验,我掌握了Java中的if语句和for循环语句的使用方法。

5. 实验四:数组和字符串在第四个实验中,我学习了Java中的数组和字符串。

我编写了一个程序,实现了对一个整型数组进行排序并输出结果的功能。

通过这个实验,我掌握了Java中数组的声明和使用方法,以及字符串的操作方法。

6. 实验五:面向对象编程在第五个实验中,我学习了Java中的面向对象编程。

我编写了一个程序,实现了一个简单的学生信息管理系统。

通过这个实验,我掌握了Java中类的定义和对象的创建与使用方法。

四、实验结果通过以上实验,我成功编写了各种Java程序,并在控制台输出了预期的结果。

Java中的String类型

Java中的String类型

Java中的String类型1、基本类型和引⽤类型在C语⾔⾥⾯,是有指针这么⼀个变量类型的,指针变量保存的就是所要指向内容的地址。

在Java⾥⾯,没有了指针的这么个说法,⽽是换了⼀个词:引⽤类型变量。

先说Java⾥⾯的基本类型,所谓基本类型,很简单,就是⼀个数字,⼀个字符或⼀个布尔值,数字⾥⾯包含整型、浮点型等,没有什么好说的。

再说这个引⽤类型,他的概念就很像指针了。

引⽤变量的值指向内存空间的引⽤,就是C中的地址,所在这个地址⾥⾯的内容就是要被他引⽤的对象。

2、String就是⼀个引⽤类型⼤多数时候,我们在⽤String的时候,就是这么⽤的:String str = "balabala";直接赋值,简单易懂。

其实,还有下⾯的三种使⽤String的⽅式,利⽤API⾥⾯的String构造⽅法:String str = new String(char[] array);array是⼀个字符数组,这就很形象了,在array⾥⾯字符跟字符是分开的,需要array[i]来获取。

通过String的这⼀个构造⽅法之后,将“字符”给“串”起来了,就变成了字符串。

另外⼀种构造⽅式:String str = new String(char[] array,int offset,int count);array还是那个字符数组,offset是指数组中的某⼀个位置,count值数量,综合的意思就是:将array数组中,从第offset个字符开始的,往后数count个字符的“⼦数组”,串成字符串。

举例:char[] array = {'a','b','c','d','e','f','g'};String str = new String(array,2,3);此时str就是cde,数组从0开始数。

(完整版)Java程序设计实验报告

(完整版)Java程序设计实验报告

Java 程序设计实验报告实验一实验题目:从键盘上读入10 个字符串存入数组 a 中,而后输出这10个字符串中最大字符串和最小字符串。

实验代码:public class StrPro {public static void main(String[] args) {String str[] =new String[5];System. out .println("Please input 10 strings :" );int i;String max,min;for (i=0;i<5;i++){System. out .print( "Please input the " +(i+1)+ " string:" );Scanner sc = new Scanner(System. in );str[i] = sc.nextLine();}max = str[0];min = str[0];for (i=0;i<str.length ;i++){if (pareTo(str[i])<0){max = str[i];}if (pareTo(str[i])>0){min = str[i];}}System. out .println( System. out .println( " 最大的字符串为: " +max); " 最小的字符串为: " +min);}}实验结果:实验心得领会:掌握了 java 的基本语法,数组的定义与使用,做这个实验要了解字符串数组的定义及字符串数组的输入方法,还有比较字符串数组的大小的调用方法等。

实验二实验题目:自定义一个矩形类( Rectangle ),包括的属性有:长( length ),宽(width ),包括的方法有:对于属性的 setter 和 getter 方法,即 setLength ,getLength ,setWidth ,getWidth ,计算矩形面积的方法(g etArea )。

天津理工大学Java实验四实验报告

天津理工大学Java实验四实验报告

天津理⼯⼤学Java实验四实验报告天津理⼯⼤学计算机科学与⼯程学院实验报告2017 ⾄2018 学年第⼀学期附录(源程序清单)// FullQueueException类package Ex;public class FullQueueException extends IndexOutOfBoundsException { private static final long serialVersionUID = 1L;String ERROR_INFO;FullQueueException(String s){this.ERROR_INFO = new String(s);}public String toString(){return "FullQueueException" + ERROR_INFO;}}// EmptyQueueException类String ERROR_INFO; EmptyQueueException(String s){this.ERROR_INFO = new String(s);}public String toString(){return "EmptyQueueException" + ERROR_INFO; }}// CircleQueue类import java.util.Arrays;public class CircleQueue{private int DEFAULT_SIZE = 5;private int capacity;private Object[] elementData;private int front = 0;private int rear = 0;public CircleQueue(){capacity = DEFAULT_SIZE;elementData = new Object[capacity];}public CircleQueue(T element){this();elementData[0] = element;rear++;}public CircleQueue(T element, int initSize){this.capacity = initSize;elementData = new Object[capacity];rear++;}public int size(){if (isEmpty()){return 0;}return rear > front ? rear - front : capacity - (front - rear);}public void addBack(T element) throws FullQueueException { if (rear == front && elementData[front] != null){throw new FullQueueException("队列已满的异常");}elementData[rear++] = element;rear = rear == capacity ? 0 : rear;}public T removeFront() throws EmptyQueueException{if (isEmpty()){throw new EmptyQueueException("空队列异常");T oldValue = (T) elementData[front];elementData[front++] = null;front = front == capacity ? 0 : front;return oldValue;}public T element() throws EmptyQueueException{if (isEmpty()) {throw new EmptyQueueException("空队列异常");}public boolean isEmpty(){// rear==front且rear处的元素为nullreturn rear == front && elementData[rear] == null; }public void clear(){Arrays.fill(elementData, null);front = 0;rear = 0;}}// PrintJob类public class PrintJob{private String jobName;private int pages;public PrintJob(String sjN, int spg){this.jobName = new String(sjN);this.pages = spg;}public String getName(){return this.jobName;}public int getPages(){return this.pages;}}import java.util.Queue;private int sizeOfJobs;private int numberOfJobs;private int delayBetweenJobs;private String producerName;private Thread PrintThread = null;public Producer(int ss, int sn, int sd, String spn, Thread t) {this.sizeOfJobs = ss;this.numberOfJobs = sn;this.delayBetweenJobs = sd;this.producerName = new String(spn);this.PrintThread = t;}public void run() {for (int i = 0; i < this.numberOfJobs; i++) {PrintJob pj = new PrintJob(this.producerName + " #" + i, this.sizeOfJobs); try {Printer.getInstance().addJob(pj);Thread.sleep(this.delayBetweenJobs);} catch (InterruptedException e) {e.printStackTrace();} catch (FullQueueException e) {System.out.println("⽆法添加打印任务启动Printer" + e);}}}}//Printer类public class Printer implements Runnable{static private CircleQueue printQueue = new CircleQueue();static private boolean stateIsRunning = true;private static final Printer PRNTR_ONL Y = new Printer();static private boolean whileend = false;public static Printer getInstance() {return PRNTR_ONL Y;}public synchronized void halt(){if (Printer.stateIsRunning) {System.out.println("C: Print manager is halted.");Printer.stateIsRunning = false;}}public void addJob(PrintJob job) throws FullQueueException, InterruptedException { synchronized (printQueue){try{this.printQueue.addBack(job);}catch (FullQueueException e){try{printQueue.notify();printQueue.wait();}catch (InterruptedException e1){e1.printStackTrace();}}}System.out.println("[1]P: Adding job " + job.getName() + " to the queue");}private PrintJob getJob() throws EmptyQueueException {PrintJob p = null;while (p == null && stateIsRunning) {try {p = this.printQueue.element();Printer.printQueue.removeFront();} catch (EmptyQueueException e) {try {printQueue.notifyAll();printQueue.wait(500);} catch (InterruptedException e1) {e1.printStackTrace();}System.out.println("C: Waiting on a job to print." + stateIsRunning);}}return p;}}public void run() {System.out.println("C: Print manager is starting up.");while (stateIsRunning) {PrintJob pjob = null;try {pjob = this.getJob();System.out.println("[2]C:Starting job " + pjob.getName()); Thread.sleep(500 * pjob.getPages());System.out.println("[3]C:Completed job " + pjob.getName());} catch (EmptyQueueException e) {break;} catch (InterruptedException e) {e.printStackTrace();}}}//TestPrinter类public class TestPrinter{public static void main(String[] args) {Printer PRNT_P = Printer.getInstance();Thread THRD_P = new Thread(PRNT_P);THRD_P.setPriority(10);Producer pd1 = new Producer(5, 2, 5, "A", THRD_P); Producer pd2 = new Producer(5, 2, 5, "B", THRD_P); Producer pd3 = new Producer(5, 3, 5, "C", THRD_P); Thread thrd_A = new Thread(pd1);Thread thrd_B = new Thread(pd2);Thread thrd_C = new Thread(pd3);thrd_A.start();thrd_B.start();thrd_C.start();THRD_P.start();try {thrd_A.join();thrd_B.join();thrd_C.join();计算机科学与⼯程系}catch (InterruptedException e1){e1.printStackTrace();}try{Thread.sleep(10000);}catch (InterruptedException e){e.printStackTrace();PRNT_P.halt(); }}。

Java实验报

Java实验报
三、实验步骤
实验源代码:
publicclassHandleLargeNumber{
publicstaticvoidmain(String[]args){
inta[]={0,9,9,7,9,4,5,6,7,2,3,4,5,6,4,7,8,9,8,7,6,9};
intb[]={0,0,5,9,1,6,4,5,6,2,3,4,5,7,2,1,3,4,0,3,2,9};
}
}
else{
System.out.printf("输入的钱币不符合要求");
intc[]=newint[a.length];
inti=0,result=0,k=0;
for(i=0;i<a.length;i++){
if(a[i]!=0){
k=i;
break;
}
}
for(i=k;i<a.length;i++){
System.out.printf("%d",a[i]);
}
System.out.printf("\n加上:\n");
实验名称
自动售货机
姓名
***
学号
***
专业年级
14物联网
一、实验目的:
本实验目的是让学生掌握在if-else分支语句的if操作中使用switch语句。
二、实验内容:
自动售货机为客户提供各种饮料。饮料的价格有两种:2元和3元。用户投入2元钱,可以选择“净净矿泉水”、“甜甜矿泉水”和“美美矿泉水”之一。用户投入3元钱可以选择“爽口可乐”、“清凉雪碧”和“雪山果汁”之一。编写程序模拟用户向自动售货机投入钱币、得到一种饮料。

java实验报告——字符串处理及基础类库

java实验报告——字符串处理及基础类库

4.String、StringBuffer 和 StringTokenzier 有什么不同? 答:String 字符串不能修改、删除、或替换字符串中的某个字符,即 String 对 象一旦创建,那么实体是不可以再发生变化的。StringBuffer 类的实体的内存空间可以 自动地改变大小,便于存放一个可变的字符序列。StringTokenzier 是分析字符串并将 字符串分解成可被独立使用的单词。 5.通过本次实验,你什么收获?有什么不足? 答:通过这次实验,我知道了如何定义一个接口并且使用该接口的方法和条件, 知道如何用 swing 组件设置界面并使用监听器,知道了 String、StringBuffer 和 StringTokenzier 的不同之处和使用方法。在做这些实验时,明显感觉对知识的不熟悉, 所以做的慢,边看书边分析才能做好,在以后的学习中要不断积累知识。
二、实验环境(实验设备)
硬件: 软件: 微型计算机 P4 Windows XP+NetBean IDE 6.9+JDK 1.6
三、实验原理及内容
1.定义一个接口,并将该接口存放到包 com.interfac 中,同时该接口中有三个抽象方法: long factorial(int m);求参数 m 的阶乘 long myPower(int m,int n);求参数 m 的 n 次方。 boolean findFactorSum(int m,int n);判断参数中较小数是否是较大数的因子。 实现该接口。编写应用程序使用实现了接口的类中的的各个方法,并将调用这些方法得到的结 果输出。 2.利用 Swing 组件编程利用 BigInteger 类,计算
n!。操作界面如下:
n 1
100
实验报告
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JA V A实验报告实验四运用JavaFx实现时钟动画班级:计算机科学与技术1306学号: 00姓名:王雨思指导教师:鲁鸣鸣2014 年 12 月 1 日目录一.概述 (6)二.总体方案设计 (7)三.详细设计 (8)四.程序的调试与运行结果说明 (9)五.课程设计总结 (10)六.后记 (11)七.附录 (12)参考文献 (13)一概述1.课程设计的目的了解和掌握String类的实现原理2.课程设计的要求基于ArrayList实现可以深度复制(Deep Copy)的栈结构。

1.首先用ArrayList实现栈结构2.接着将第1步实现的栈通过Clonable接口实现深度复制3.课程设计的主要设计思想基于ArrayList实现可以深度复制(Deep Copy)的栈结构。

二总体方案设计编写程序实现MyString类的下列操作:public MyString(char[] chars);public char charAt(int index);public int length();public MyString substring(int begin, int end);public MyString toLowerCase();public boolean equals(MyString s);public static MyString valueOf(int i);public int compare(String s);public MyString substring(int begin);public MyString toUpperCase();public char[] toChars();public static MyString valueOf(boolean b);定义一个MyString类一一实现上述定义的函数,并对MyString类进行简单的测试。

三详细设计本实验主要包含两个类public class MyString //新字符串类public class test //测试类MyString类的UML图为:-stringChar:char[] //私有字符串数组+MyString(char[] chars) //构造函数+showMyString():void //显示字符串+charAt(index:int):char //返回指定位置的char值+length():int //返回字符串长度+substring(begin:int,end:int):MyString //将字符串begin——end位置的字符换成新的字符串+toLowerCase():MyString //将所有字符串都换成小写+equals(s:MyString):boolean //判断两个字符串是否相等+static valueOf(int i):MyString //返回表示int值的字符串表示+compare(String s):int //比较字符串大小+substring(begin:int):MyString //求冲begin开始的子串+toUpperCase():MyString //将字符串小写换成大写+toChars():char[] //返回字符串数组+static valueOf(b:boolean):MyString //将b换成字符串四程序的调试与运行结果说明运行结果:五课程设计总结(1)运用实验的方法设计和实现,既是对刚刚学过的java课程的复习,又是一次实战演练,从而提高自己的分析问题,解决问题以及动手的能力;(2)通过整个程序的设计与实现进一步加深了对 Java这门语言的理解,巩固学过的知识,为以后进一步的学习打下良好的基础。

(3)在这次java编程实现中,通过对java所学到知识的运用,让我学到了很多很多的编程实践知识,大大提高了我对java编程和课本知识的理解。

本次实验是对String类型的重写,目的是加强我们对java中Sting类型的理解。

虽然String类型在java作为一个基本类型,java已经提供了很成熟的操作函数,但是这次实验的目的不是让我们去如何改进String类型,而是让我们更加深入的了解String类型的实现原理。

困难及解决途径在上机实习完成课程设计的过程中,遇到了不少的问题,一是有一些东西自己没有学过,而是在编写的过程中由于思路不清晰以及自己的粗心给自己制造了一些麻烦,还有就是会产生一些异常。

但是在经过自己和老师、同学的交流,以及自己查阅资料针对性的对不懂得问题进行查询,自己没有学过但是又要用到得逐渐的得到解决,再经过自己反复的理清思路和反复的检查由思路不清晰和粗心带来的麻烦也慢慢得到了解决。

六后记首先,java作为一种计算机语言,它具备语言的特性,就是我们在课堂上认真听取了老师的指导之后,还得自己回去认真看书写程序,并且上机实习才能发现问题及时解决问题。

就像我们学习语言一样要通过和同学之间的交流才能提高我们的实际应用能力。

所以,我们在自己认真刻苦学习的同时,一定要多和同学老师交流,从他们那里吸取好的思维方式、好的学习方法。

在上机实习的时候,我现在回顾自己一学期的学习,觉得首先应该熟悉java 的概念,明白程序开发的基本思想,熟悉开发环境之后马上进行自主学习,自己学习的步伐千万不能落于老师讲课授课的速度。

如果这样的话,我们很可能处于一种被动学习的劣势,失去对java学习的热情,以至于恶性循环,到最终的无可救药。

在平时的训练和刚刚结束的上机实习中我深刻的体会到了学习好java我们就要一定要掌握好java的基本语句,包括条件语句和循环语句。

这些就是我们编写程序这棵大树的必要组成枝叶。

建立起关键语句的之后,我们才能有更强的功能和实用性。

这次实验主要是编写功能较为单一的小程序,虽然是小程序,但所用的知识却都是我们本学期学习的重点知识。

在做题的过程中让我们把这些知识复习了一遍,可以我强化了知识。

因为随着课程的加重,发现自己动手能力越来越若,在事件处理和图形用户接口的使用中,出现了知识点模棱两可的情况。

当然,任何的困难挫折在不断地努力中都会变得脆弱,只是暂时的阴影。

最后我想说不会写java程序不要紧,多在网上找资料和文章学习,多看看程序员的博客、与导师沟通学习,总会找到你需要的材料,书山有路勤为径,学海无涯苦作舟。

通过这四次实验,大大提高了我对java编程的理解,调高了我的逻辑思维能力。

让我养成了独立思考的好习惯!在以后的日子里,我要不断地学习这个博大精深的语言,继续不断的深化自己的实际动手能力。

七附录package a001;public class test {public static void main(String[] args){char[] tschar1={'j','a','v','a'};char[] tschar2={'S','T','R','I','N','G'};String s1="STRING";MyString string1=new MyString(tschar1);MyString string2=new MyString(tschar2);MyString a;"string1="); ();"string2="); ();"the length of string1 "+());"the length of string2 "+());"将string2 换成小写 ");a=();();"将string1换成大写 ");a=();();"比较string1和s1大小 "+(s1));"求string2的子串 :(3)");a=(3);();"求string2的子串:(3, 5) ");a=(3, 5);();"判断string1,string2是否相等"+(string2));"(false)= ");a=(false);();"(1) ");a=(1);();}}public class MyString {private char[] stringChar;public MyString(char[] chars) //构造函数{stringChar=chars;}public void showMyString() //显示字符串{int a=0;for(a=0;a< {}}public char charAt(int index) //返回指定位置的char值{return stringChar[index-1];}public int length() //返回字符串长度{return ;}public MyString substring(int begin, int end) //将字符串begin——end位置的字符换成新的字符串{char[] string=new char[end-begin+1];int a=0;int b=0;for(a=begin-1;a<end;a++){string[b]=[a];b++;}MyString newString=new MyString(string);return newString;}public MyString toLowerCase() //将所有字符串都换成小写{int a=0;int b=((int)'a'-(int)'A'); //大小写之间的差值 (a>A)char[] newString=new char[(int)()];for(a=0;a<();a++){if((int)stringChar[a]>=(int)'A'&&(int)stringChar[a]<=(int)'Z'){newString[a]=(char)((int)[a]+b);}else{newString[a]=stringChar[a];}}MyString string0=new MyString(newString);return string0;}public boolean equals(MyString s) //判断两个字符串是否相等{int a=0;for(a=1;a<=();a++){if(a)!=(a)){return false;}}return true;}public static MyString valueOf(int i) //返回表示int值的字符串表示{char[] newchar=new char[1];newchar[0]=(char)(i+(int)'0');MyString newString=new MyString(newchar);return newString;}public int compare(String s) //比较字符串大小{int a=0;for(a=1;a<=();a++){if((int)stringChar[a-1]>(int)(a)){return 1; //大于s}if((int)(a)>(int)stringChar[a-1]){return -1; //小于s}}return 0; //等于s}public MyString substring(int begin) //求冲begin开始的子窜(begin《this。

相关文档
最新文档