java实验七八(河北工业大学)
- 格式:doc
- 大小:1.17 MB
- 文档页数:16
大一学生java上机实验报告大一学生Java上机实验报告实验名称:Java基础语法练习实验目的:通过完成一系列Java基础语法的练习,熟悉Java 的语法规则和基本操作,加深对Java编程的理解。
实验内容及步骤:1. 编写一个Java程序,实现计算器功能。
该程序需要接收用户输入的两个数字和一个运算符,然后根据运算符的不同进行相应的运算,并将结果输出。
代码示例:```javaimport java.util.Scanner;public class Calculator {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入第一个数字:");double num1 = scanner.nextDouble();System.out.print("请输入第二个数字:");double num2 = scanner.nextDouble();System.out.print("请输入运算符(+、-、*、/):");String operator = scanner.next();double result = 0;switch (operator) {case "+":result = num1 + num2;break;case "-":result = num1 - num2;break;case "*":result = num1 * num2;break;case "/":result = num1 / num2;break;default:System.out.println("输入的运算符无效!");return;}System.out.println("计算结果为:" + result);}}```2. 编写一个Java程序,实现2到100之间的所有素数的查找和输出。
网络编程技术课程内容第一章Java语言概述1、Java语言特点:简单、完全面向对象、平台无关、多线程、可靠、安全、自动垃圾回收机制;2、Java程序开发流程:安装JDK、编写源代码、javac编译生成字节码文件、运行字节码文件;3、Java两种程序:application:应用程序,编译:javac 源文件名;运行:java 字节码文件(含主函数)Applet:嵌入网页中运行的小应用程序,需有相应的html文件;4、一个完整的Java源程序结构:package语句:该部分至多只有一句,必须放在源程序的第一句;import:该部分可以有若干import语句或者没有,必须放在所有的类定义之前;public classDefinition公共类定义部分,至多只有一个公共类的定义,Java语言规定该Java源程序的文件名必须与该公共类名完全一致;classDefinition类定义部分,可以有0个或者多个类定义;interfaceDefinition接口定义部分,可以有0个或者多个接口定义。
第二章Java语言基础1、Java的关键字,常量、变量,简单数据类型,运算符、表达式常量:final基本数据类型:8中基本数据类型:boolean、char、byte、int、short、long、float、double带小数点数如3.13默认为double类型,整数默认int型class、interface、数组都算引用/参考数据类型运算符:判等(= =)只能对基本数据类型,equals方法;短路运算符:&&、||表达式:强制类型转换、自动类型转换2、主要的Java语句结构:分支、循环、转移1)分支:if else、及if else嵌套实现多分支switch语句:多分支switch(表达式){case 常量1:语句1;[break;]case 常量2:语句2;[break;]……case 常量n:语句n;[break;][default:缺省处理语句;break;]}case与break联用,保证多路分支的正确实现。
大一学生java上机实验报告非常好,下面是一个简单的Java上机实验报告示例,该实验要求创建一个名为Hello World的程序,该程序将在控制台输出 "Hello, World!" 消息。
1. 安装Java环境在开始上机实验之前,您需要确保已经安装了Java开发环境。
Java具有多种版本,其中最常见的是Java 8。
您可以从Oracle官方网站下载Java 8安装程序并按照提示安装。
2. 编写Hello World程序以下是一个简单的Java程序,用于在控制台输出 "Hello, World!" 消息:```javapublic class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}}```3. 运行程序保存代码并使用Java编译器将其编译为字节码文件。
您可以使用以下命令运行程序:```javajavac HelloWorld.javajava HelloWorld```这将在控制台打印 "Hello, World!"消息。
4. 调试程序如果您的程序在运行时出现问题,您可以尝试调试它。
您可以通过在控制台输入命令行参数来运行您的程序,并使用调试器来查找错误。
例如,如果您的程序在打印 "Hello, World!" 消息时出现问题,您可以尝试使用以下命令调试程序:```javajava HelloWorldjava -XX:+PrintFlagsFinal -XX:+UseConcMarkSweepGC HelloWorld```这将启用标记清除GC和ConcMarkSweepGC选项,以查找和清除内存错误。
这是一个简单的Java上机实验,它要求您编写和运行一个名为Hello World的程序,并在控制台输出 "Hello, World!" 消息。
Java程序设计实验报告班级:网络 151 姓名:徐毅民学号: 153299实验一Java语言基础一.实验目的掌握Java语言的基本语法、基本数据类型的使用方法,掌握从键盘输入基本类型的数据,熟练运用分支、循环等语句控制程序流程。
二.实验内容1、编写一个Java应用程序,用户从键盘输入十名学生的信息,至少包括姓名、年龄、出生年月日、java课程实验成绩,成绩使用浮点数,年龄使用整型,程序将输出年龄、java课程实验成绩的平均值。
提示:Scanner对象调用nextDouble()或nextFloat()可以获取用户从键盘输入的浮点数。
2、使用Arrays类实现数组排序:使用java.util包中的Arrays类的类方法public static void sort(double a[])可以把参数a指定的double 类型数组按升序排序;public static void sort(double a[], int start , int end)可以把参数a指定的double类型数组中从位置start到end位置的值按升序排序。
给定数组int a[]={12,34,9,-23,45,6,90,123,19,45,34}; 从键盘读入一个整数,使用折半查找判断该整数是否在这个数组中,并将结果输出。
3、输出100~200之间的所有素数。
4、采用for循环求1至1000之内的所有“完全数”。
所谓“完全数”是指一个数,恰好等于它的因子之和。
例如,6是一个完全数,因为6的因子为1、2、3,而6=1+2+3。
5、已知XYZ+YZZ=532,其中X、Y和Z为数字,编程求出X,Y和Z的值。
三.实验步骤实验1以最终学生信息管理系统为准实验2代码如下:import java.util.Arrays;import java.util.Scanner;public class test2 {public static void printDoubleArray(double a[]) {for(int i = 0; i < a.length; i++) {System.out.print(a[i]+" ");}System.out.println();}public static void printfIntegerArray(int a[]) {for(int i = 0; i < a.length; i++) {System.out.print(a[i]+" ");}System.out.println();}public static void main(String[] args) {double a[] = {2.6, 4.6, 2, 8, 888, 569.5, 454.5, 100, -84.5, 45}; System.out.println("原double数组a:"); printDoubleArray(a);Arrays.sort(a, 0, a.length/2);System.out.println("排序double数组a前一半:"); printDoubleArray(a);Arrays.sort(a);System.out.println("排序整个double数组a:"); printDoubleArray(a);int b[] = {12, 34, 9, -23, 45, 6, 90, 123, 19, 45, 34}; Arrays.sort(b);System.out.println("排序整个double数组b:"); printfIntegerArray(b);Scanner in = new Scanner(System.in);System.out.print("输入要查询的数字:");int key = in.nextInt();int i = Arrays.binarySearch(b, key);if(i < 0 || i >= b.length) {System.out.println(i+"输入数字不在数组中!");} else {System.out.println(b[i]+"在数组b第"+(i+1)+"位!");}}}实验3代码如下:public class test3 {public static boolean isPrime(int x) {if(x == 1) return false;int s = (int)Math.sqrt(x);for(int i = 2; i <= s; i++) {if(x%i == 0) return false;}return true;}public static void main(String[] args) {int cnt = 0;for(int i = 100; i < 200; i++) {if(isPrime(i)) {cnt++;System.out.printf("%4d", i);}if(isPrime(i) && cnt%10 == 0) System.out.println();}}实验4代码如下:public class test4 {public static boolean isCompleteNumber(int x) { int sum = 0;for(int i = 1; i < x; i++) {if(x%i == 0) sum += x;}return x == sum;}public static void main(String[] args) {int cnt = 0;for(int i = 1; i <= 1000; i++) {if(isCompleteNumber(i)) {cnt++;System.out.printf("%4d", i);}if(isCompleteNumber(i) && cnt%10 == 0)System.out.println();}}实验5代码如下:public class test5 {public static void main(String[] args) {for(int x = 0; x < 10; x++) {for(int y = 0; y < 10; y++) {for(int z = 0; z < 10; z++) {if(100*x+110*y+12*z == 532) {System.out.println("X="+x+" Y="+y+" Z="+z);return;}}}}}}四.详细的调试和运行结果实验2运行结果:原double数组a:2.6 4.6 2.0 8.0 888.0 569.5 454.5 100.0 -84.5 45.0 排序double数组a前一半:2.0 2.6 4.6 8.0 888.0 569.5 454.5 100.0 -84.5 45.0 排序整个double数组a:-84.5 2.0 2.6 4.6 8.0 45.0 100.0 454.5 569.5 888.0 排序整个double数组b:-23 6 9 12 19 34 34 45 45 90 123输入要查询的数字:-23-23在数组b第一位!实验3运行结果:101 103 107 109 113 127 131 137 139 149151 157 163 167 173 179 181 191 193 197199实验4运行结果:2 3 5 7 11 13 17 19 23 2931 37 41 43 47 53 59 61 67 7173 79 83 89 97 101 103 107 109 113127 131 137 139 149 151 157 163 167 173179 181 191 193 197 199 211 223 227 229233 239 241 251 257 263 269 271 277 281283 293 307 311 313 317 331 337 347 349353 359 367 373 379 383 389 397 401 409419 421 431 433 439 443 449 457 461 463467 479 487 491 499 503 509 521 523 541547 557 563 569 571 577 587 593 599 601607 613 617 619 631 641 643 647 653 659661 673 677 683 691 701 709 719 727 733739 743 751 757 761 769 773 787 797 809811 821 823 827 829 839 853 857 859 863877 881 883 887 907 911 919 929 937 941947 953 967 971 977 983 991 997实验5运行结果:X=3 Y=2 Z=1五.实验感想通过本次从实验对java语言的基本语法有了基本了解,学会了使用控制台命令行的方式运行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实验报告专业班级学号姓名指导教师实验一、安装JDK并熟悉java的运行环境一、实验目的熟悉JA V A的运行环境及学习简单的编程。
二、预习内容安装工具软件的基本方法。
三、实验设备与环境装有JA V A语言工具软件(JCreator )的微机若干四、实验内容安装JCreator及JA V A的核心编译程序J2SDK。
1、打开JCreator的安装盘安装JCreator。
2、在相同目录下安装J2SDK。
3、打开JCreator软件对J2SDK文件进行配置。
4、编写一应用程序,在屏幕上显示“HELLO WORLD”。
public class Hello{public static void main(String args[]){System.out.println( "HELLO WORLD");}}5、编写一小程序实现上述功能:在屏幕上显示“HELLO WORLD”。
实验结果:五、注意事项⒈认真填写实验报告⒉遵守实验室各项制度,服从实验指导教师的安排⒊按规定的时间完成实验六、实验总结与体会1.通过这个实验我了解到java的运行环境。
2.通过这个简单的程序使我认识到做实验是要认真对待,不可马虎大意,区分字母的大小写和符号的正确使用。
实验二、基本语法练习一、实验目的⒈熟悉Java的基本语法⒉编写应用程序接收命令行参数⒊编写应用程序接收用户从键盘的输入⒋掌握字符串与数组的基本方法二、预习内容java编程的基本结构三、实验设备与环境装有JA V A语言工具软件(JCreator )的微机若干四、实验内容⒈编写一个应用程序求若干个数的平均数,原始数字要求从命令行输入。
应用程序中main方法的参数String类型的数组args能接受用户从命令行键入的参数。
(1)编辑A verage.java,设保存在D:\myjava目录下。
public class Average{public static void main(String args[ ]){double n,sum=0;for (int l=0;l<args.length;l++){sum=sum+Double.valueOf(args[l]).doubleValue();}n=sum/args.length;System.out.println("average="+n);}}(2)编译。
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实验报告实验原理Java实验报告实验原理一、引言Java是一种广泛使用的计算机编程语言,具有跨平台、面向对象、简单易学等特点。
在学习Java编程的过程中,实验是不可或缺的一部分。
本文将介绍Java实验的原理和相关知识。
二、实验环境搭建在进行Java实验之前,需要搭建相应的实验环境。
首先,需要安装Java Development Kit(JDK),这是Java开发的基础工具包。
其次,需要选择一个集成开发环境(IDE)来编写和运行Java程序,比如Eclipse、IntelliJ IDEA等。
最后,需要配置Java的环境变量,以便在命令行中能够直接运行Java程序。
三、实验原理1. Java的基本语法Java的语法规范包括数据类型、变量、运算符、控制语句等。
在Java实验中,我们需要掌握这些基本语法知识,以便正确编写和理解Java程序。
2. 面向对象编程Java是一种面向对象的编程语言,它支持封装、继承和多态等特性。
在实验中,我们需要理解面向对象的概念,并能够正确应用这些特性来解决实际问题。
3. 类和对象在Java中,类是对象的模板,用于描述对象的属性和行为。
对象是类的实例,具有独立的状态和行为。
在实验中,我们需要学会定义和使用类和对象,以及理解它们之间的关系。
4. 异常处理Java提供了异常处理机制,可以捕获和处理程序中的异常情况。
在实验中,我们需要学会使用try-catch语句来捕获异常,并进行相应的处理,以保证程序的稳定性和可靠性。
5. 输入输出Java提供了丰富的输入输出功能,可以从键盘读取输入,也可以将结果输出到控制台或文件中。
在实验中,我们需要学会使用Java提供的输入输出类和方法,以便与用户进行交互和展示程序的结果。
6. 集合框架Java的集合框架提供了一系列的数据结构和算法,用于存储和操作数据。
在实验中,我们需要学会使用集合框架提供的各种数据结构,比如List、Set、Map 等,以及相应的操作方法,比如添加、删除、查找等。
操作系统实验指导书实验一进程控制与描述一、实验目的通过对Windows XP编程,进一步熟悉操作系统的基本概念,较好地理解Windows XP的结构。
通过创建进程、观察正在运行的进程和终止进程的程序设计和调试操作,进一步熟悉操作系统的进程概念,理解Windows XP进程的“一生”。
二、实验环境硬件环境:计算机一台,局域网环境;软件环境:Windows XP,Visual C++ 6.0专业版或企业版。
三、实验内容和步骤第一部分Windows 编程Windows XP可以识别的程序包括控制台应用程序、GUI应用程序和服务应用程序。
本实验中主要用到的是控制台应用程序和GUI应用程序。
1、简单的控制台应用程序创建一个名为“Hello”的应用程序, 在“开始”菜单中单击“程序”-“附件”-“记事本”命令,将程序键入记事本中,并把代码保存为1-1.cpp。
程序1-1 Windows XP的GUI应用程序#include <iostream>void main(){Std::cout<<”Hello, Windows XP”<<std::endl;}在“命令提示符”窗口运行CL.EXE,产生1-1.EXE文件:C:\> CL 1-1.cpp运行1-1.EXE程序,运行结果是:(如果运行不成功,则可能的原因是什么?)_2、GUI应用程序Windows XP Professional下的GUI应用程序,使用Visual C++编译器创建一个GUI应用程序,代码中包括了WinMain()方法,该方法GUI类型的应用程序的标准入口点。
在“开始”菜单中单击“程序”-“附件”-“记事本”命令,将程序键入记事本中,并把代码保存为1-2.cpp。
程序1-2 Windows XP的GUI应用程序// msgbox项目# include <windows.h> // 标准的include// 告诉连接器与包括MessageBox API函数的user32库进行连接# pragma comment(lib, “user32.lib” )// 这是一个可以弹出信息框然后退出的筒单的应用程序int APIENTRY WinMain(HINSTANCE /* hInstance */ ,HINSTANCE /* hPrevInstance */ ,LPSTR /* lpCmdLine */ ,int /* nCmdShow */ ){:: MessageBox(NULL, // 没有父窗口“Hello, Windows 2000” , // 消息框中的文本“Greetings”, // 消息框标题MB_OK) ; // 其中只有一个OK按钮// 返回0以便通知系统不进入消息循环return(0) ;}也可以利用任何其他文本编辑器键入程序代码,如果这样,例如使用WORD来键入和编辑程序,则应该注意什么问题?保存时将文件保存为“.cpp”的c++文件在“命令提示符”窗口运行CL.EXE,产生1-2.EXE文件:C:\> CL 1-2.cpp在程序1-2的GUI应用程序中,首先需要Windows.h头文件,以便获得传送给WinMain() 和MessageBox() API函数的数据类型定义。
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、数据类型与变量成功定义了各种数据类型的变量,并正确进行了赋值和输出。
河北工业大学软件工程课程实验实验报告题目:设备管理系统专业:计算机科学与技术班级:计C063组:595软件开发团队组长:李伟成员:刘伟王建宏魏然葛晓虎瞿建华指导教师:张健楠完成日期:目录1项目开发计划书 (2)2软件需求规格说明书 (7)3设计规格说明书 (13)4 源程序清单 (23)5 测试报告 (31)6 用户手册 (35)一、项目开发计划书完成人:李伟1.引言(Introduction)1、编写目的本系统设计是在windows环境的支持下运行的,采用窗口式执行文件,操作实用、简易、方便、直观。
本着高效、全面、安全的设计思想,实现公司设备的有效管理。
2、项目背景开发系统名称:设备管理系统。
项目任务提出者:张健楠。
开发者:李伟、刘伟、魏然、王建宏、葛晓虎、瞿建华。
3、参考资料软件工程,程成、陈霞译,机械工业出版社,2008.11.1项目概述(Project Summary)实现公司设备的有效管理、维护记录。
购入新设备,登记设备购入时间、名称、型号、种类、内部编号、所属部门、存放位置等。
设备转借时,记录借用部门、经手人员、用途、拟还日期等。
设备故障时,记录故障情况、维修情况(时间、人员、结果)等。
设备报废时,记录报废原因、批准人员、经手人员、处理方式等。
对设备管理人员和使用人员提供各种设备处理的按部门、设备类型、处理日期等查询和修改等功能。
1.2 术语定义(Terms Glossary)购入新设备:即公司由于需要,而从别的地方买入新的设备。
设备转借:即别的公司或个人由于需要或其它原因从本公司借走设备。
设备故障:即设备由于自身原因不能正常工作了。
设备报废:即设备不但不能正常工作,而且不能修复了。
设备型号:即标识设备大小、类型、功能等信息的特定标识。
内部编号:设备在购入后公司都会给予一个公司内部的编号,即内部编号。
设备管理人员:即公司内部专门负责对公司设备进行管理的人员。
1.3 相关文档(Related Documents)当该文档变更时,可能对其他文档产生影响,受影响的文档叫相关文档,需将它们列出。
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实验报告在人们越来越注重自身素养的今天,报告的使用频率呈上升趋势,报告根据用途的不同也有着不同的类型。
那么,报告到底怎么写才合适呢?下面是小编帮大家整理的java实验报告,欢迎阅读,希望大家能够喜欢。
java实验报告1此次只实习了短短的三周。
虽说时间很短,但其中的每一天都使我收获很大、受益匪浅,它不但极大地加深了我对一些理论知识的理解,不仅使我在理论上对Java有了全新的认识,在实践能力上也得到了提高,真正地做到了学以致用,更学到了很多做人的道理,对我来说受益匪浅。
除此以外,我知道了什么叫团队,怎样和团队分工合作;同时我还学会了如何更好地与别人沟通,如何更好地去陈述自己的观点,如何说服别人认同自己的观点。
这也是第一次让我亲身感受到理论与实际的相结合,让我大开眼界。
也是对以前所学知识的一个初审吧!这次实习对于我以后学习、找工作也是受益匪浅的,在短短的三周中相信这些宝贵的经验会成为我今后成功的重要的基石;这对于我的学业,乃至我以后人生的影响无疑是极其深远的。
这次实习虽然是我们的第一次,不过同学们表现不错,由此看来,我们在进入大学的这几个月里学到了不少的专业知识,只是自己感觉不到而已。
对于所学专业,我们不能过于自卑和担忧,否则会妨碍自己学习。
实习是学习Java的重要环节,有利于我们巩固专业知识、掌握工作技能,提高就业筹码。
我把本次为期三周的实习看作是“理论与实践相结合的桥梁”。
通过这周的实习和学习,我知道了此次实习的目的,也清楚目前自己的不足,那就是缺乏相应的知识与经验,对所学的专业知识不能够很好地运用于实践操作。
正所谓“百闻不如一见”,经过这次自身的切身实践,我才深切地理会到了“走出课堂,投身实践”的必要性。
平时,我们只能在课堂上与老师一起纸上谈兵,思维的认识基本上只是局限于课本的范围之内,也许就是这个原因就导致我们对专业知识认识的片面性,使得我们只知所以然,而不知其之所以然!限制了我们网络知识水平的提高。
Java程序设计实验报告班级:网络 151 :徐毅民学号: 153299实验一Java语言基础一.实验目的掌握Java语言的基本语法、基本数据类型的使用方法,掌握从键盘输入基本类型的数据,熟练运用分支、循环等语句控制程序流程。
二.实验容1、编写一个Java应用程序,用户从键盘输入十名学生的信息,至少包括、年龄、出生年月日、java课程实验成绩,成绩使用浮点数,年龄使用整型,程序将输出年龄、java课程实验成绩的平均值。
提示:Scanner对象调用nextDouble()或nextFloat()可以获取用户从键盘输入的浮点数。
2、使用Arrays类实现数组排序:使用java.util包中的Arrays类的类方法public static void sort(double a[])可以把参数a指定的double 类型数组按升序排序;public static void sort(double a[], int start , int end)可以把参数a指定的double类型数组中从位置start到end位置的值按升序排序。
给定数组int a[]={12,34,9,-23,45,6,90,123,19,45,34}; 从键盘读入一个整数,使用折半查找判断该整数是否在这个数组中,并将结果输出。
3、输出100~200之间的所有素数。
4、采用for循环求1至1000之的所有“完全数”。
所谓“完全数”是指一个数,恰好等于它的因子之和。
例如,6是一个完全数,因为6的因子为1、2、3,而6=1+2+3。
5、已知XYZ+YZZ=532,其中X、Y和Z为数字,编程求出X,Y和Z的值。
三.实验步骤实验1以最终学生信息管理系统为准实验2代码如下:import java.util.Arrays;import java.util.Scanner;public class test2 {public static void printDoubleArray(double a[]) {for(int i = 0; i < a.length; i++) {System.out.print(a[i]+"");}System.out.println();}public static void printfIntegerArray(int a[]) {for(int i = 0; i < a.length; i++) {System.out.print(a[i]+"");}System.out.println();}public static void main(String[] args) {double a[] = {2.6, 4.6, 2, 8, 888, 569.5, 454.5, 100, -84.5, 45}; System.out.println("原double数组a:"); printDoubleArray(a);Arrays.sort(a, 0, a.length/2);System.out.println("排序double数组a前一半:"); printDoubleArray(a);Arrays.sort(a);System.out.println("排序整个double数组a:"); printDoubleArray(a);int b[] = {12, 34, 9, -23, 45, 6, 90, 123, 19, 45, 34}; Arrays.sort(b);System.out.println("排序整个double数组b:"); printfIntegerArray(b);Scanner in = new Scanner(System.in);System.out.print("输入要查询的数字:");int key = in.nextInt();int i = Arrays.binarySearch(b, key);if(i < 0 || i >= b.length) {System.out.println(i+"输入数字不在数组中!");} else {System.out.println(b[i]+"在数组b第"+(i+1)+"位!");}}}实验3代码如下:public class test3 {public static boolean isPrime(int x) {if(x == 1) return false;int s = (int)Math.sqrt(x);for(int i = 2; i <= s; i++) {if(x%i == 0) return false;}return true;}public static void main(String[] args) {int cnt = 0;for(int i = 100; i < 200; i++) {if(isPrime(i)) {cnt++;System.out.printf("%4d", i);}if(isPrime(i) && cnt%10 == 0) System.out.println();}}实验4代码如下:public class test4 {public static boolean isCompleteNumber(int x) { int sum = 0;for(int i = 1; i < x; i++) {if(x%i == 0) sum += x;}return x == sum;}public static void main(String[] args) {int cnt = 0;for(int i = 1; i <= 1000; i++) {if(isCompleteNumber(i)) {cnt++;System.out.printf("%4d", i);}if(isCompleteNumber(i) && cnt%10 == 0)System.out.println();}}实验5代码如下:public class test5 {public static void main(String[] args) {for(int x = 0; x < 10; x++) {for(int y = 0; y < 10; y++) {for(int z = 0; z < 10; z++) {if(100*x+110*y+12*z == 532) {System.out.println("X="+x+" Y="+y+" Z="+z);return;}}}}}}四.详细的调试和运行结果实验2运行结果:原double数组a:2.6 4.6 2.0 8.0 888.0 569.5 454.5 100.0 -84.5 45.0 排序double数组a前一半:2.0 2.6 4.6 8.0 888.0 569.5 454.5 100.0 -84.5 45.0 排序整个double数组a:-84.5 2.0 2.6 4.6 8.0 45.0 100.0 454.5 569.5 888.0 排序整个double数组b:-23 6 9 12 19 34 34 45 45 90 123输入要查询的数字:-23-23在数组b第一位!实验3运行结果:101 103 107 109 113 127 131 137 149151 157 167 173 179 181 191 193实验4运行结果:2 3 5 7 11 13 17 19 23 2931 37 41 43 47 53 59 61 67 7173 79 83 89 97 101 103 107 109 113127 131 137 149 151 157 167 173179 181 191 193 211 223 227 229233 239 241 251 257 263 269 271 277 281283 293 307 311 313 317 331 337 347 349353 359 367 373 379 383 389 397 401 409419 421 431 433 439 443 449 457 461 463467 479 487 491 499 503 509 521 523 541547 557 563 569 571 577 587 593 599 601607 613 617 619 631 641 643 647 653 659661 673 677 683 691 701 709 719 727 733739 743 751 757 761 769 773 787 797 809811 821 823 827 829 839 853 857 859 863877 881 883 887 907 911 919 929 937 941947 953 967 971 977 983 991 997实验5运行结果:X=3 Y=2 Z=1五.实验感想通过本次从实验对java语言的基本语法有了基本了解,学会了使用控制台命令行的方式运行java程序。
实验七:URL网络程序设计计c104 李云霄108490实验目的:掌握URL类的使用:URL的概念和编程。
实验要求:1、掌握网络编程的基本概念。
2、掌握URL类的简单应用。
3、利用URL类与URLConnection类获取资源。
实验内容:1、用Java实现底层网络通讯下面的语句利用主机名找到网络中相应的计算机的IP地址并打印出来。
程序中用到了InetAddress类,它主要用来区分计算机网络中的不同节点,即不同的计算机并对其寻址。
import java. net.*;public class MyIpAdress{ public static void main(String args[]){try{ if(arg.Length==1){ InetAdress ipa=InetAddress.GetByName(args[0]);System.Out.println(”Host name:”+ip.GetHostName());System.out.println(“Host IP Address:”+ip.toString());System.out.pr intln(“Local host:”+InetAddress.getLocalHost());}elsesystem.out.println(“Error,except a hodtname as commandine parameter.”);}catch(UnknownException e){ system.out.println(e.toString()); }}}编译并运行该程序,写出程序运行结果。
2、获取URL信息,源代码如下:import .*;import java.io.*;public class URLTest {public static void main(String[] args){URL url=null;InputStream is;try{ url=new URL("http://localhost/index.html");is=url.openStream();int c;try{ while((c=is.read())!=-1)System.out.print((char)c);}catch(IOException e){ }finally{ is.close(); }}catch(MalformedURLException e){ e.printStackTrace(); }catch(IOException e){ e.printStackTrace(); }System.out.println("文件名:"+url.getFile());System.out.println("主机名:"+url.getHost());System.out.println("端口号:"+url.getPort());System.out.println("协议名:"+url.getProtocol());}}编译并运行程序,写出程序运行结果。
3、利用URL类获取网络资源,源代码如下:import .*;import java.io.*;public class URLReader {public static void main(String[] args) throws Exception{ URL web = new URL("http://166.111.7.250:2222/");BufferedReader in = new BufferedReader(new InputStreamReader(web.openStream()));String inputLine;while ((inputLine = in.readLine()) !=null)System.out.println(inputLine);in.close();}}编译并运行程序,写出运行结果。
4、利用URLConnection对URL资源的读取,源代码如下:import .*;import java.io.*;public class URLConnectionReader {public static void main(String[] args) throws Exception {URL web = new URL("http://166.111.7.250:2222/");URLConnection webc=web.openConnection();//get an instance of URLConnectionBufferedReader in = new BufferedReader(new InputStreamReader(webc.getInputStream())); //use of URLConnectionString inputLine;while ((inputLine = in.readLine()) != null) System.out.println(inputLine);in.close();}}编译并运行程序,写出运行结果5、掌握URLConnection对URL资源的写入,源代码如下:import java.io.*;import .*;public class Reverse {public static void main(String[] args) throws Exception {if (args.length != 1) { System.err.println("Usage: java Reverse string_to_reverse");System.exit(1);}String stringToReverse=args[0];URL url = new URL("/cgi-bin/backwards");URLConnection connection = url.openConnection();connection.setDoOutput(true);PrintWriter out = newPrintWriter(connection.getOutputStream());out.println("string=" + stringToReverse);out.close();BufferedReader in = new BufferedReader(newInputStreamReader(connection.getInputStream()));String inputLine;while ((inputLine = in.readLine()) != null)System.out.println(inputLine);in.close();}}编译并运行程序,写出运行结果。
实验八:使用TCP协议的Socket网络程序设计实验目的:掌握Socket通讯机制,掌握Socket和ServerSocket类和相关方法。
实验要求:通过Socket编程,掌握网络应用程序的开发方法;掌握利用Java 提供的基本组件进行网络传输;掌握Java提供的多线程机制,异常处理机制和低层对协议的通信机制,通过Socket编程,掌握网络应用程序的开发方法。
实验内容:1、创建服务器和客户程序,在运行客户程序的计算机上输入的内容,可以在服务器屏幕上看到。
服务器端源程序import java.io.*;import .*;public class ServerClient{ public ServerClient(int port){Server server=new Server(port);server.start();Client client=new Client(port);client.start();}public static void main(String[] args){new ServerClient(7777);}}//服务器线程class Server extends Thread{ //使用端口号int port;ServerSocket server;Socket socket;//服务器输出流DataOutputStream outStream=null;//服务器输入流DataInputStream inStream=null;public Server(int port){try{ this.port=port;server=new ServerSocket(port); }catch(Exception e){ System.out.println(e.toString());} }public void run(){ try{ //监听用户连接socket=server.accept();outStream=new DataOutputStream(socket.getOutputStream());inStream=new DataInputStream(socket.getInputStream());//服务器准备好,可以进行通讯System.out.println("server is ok,please continue!");while(true){ //读取从客户端发送的信息String str=inStream.readUTF();System.out.println("The server receive String:"+str);//将信息重新向客户端发送outStream.writeUTF(str); }}catch(Exception e){ System.out.println(e.toString());} }}客户端源程序import java.io.DataInputStream;import java.io.DataOutputStream;import .InetAddress;import .Socket;public class Client extends Thread{//指定通讯端口int port;Socket socket;DataInputStream inStream=null;DataOutputStream outStream=null;public Client(int port){try{this.port=port; //建立同本地机子的socket连接socket=new Socket(InetAddress.getLocalHost(),port);inStream=new DataInputStream(socket.getInputStream());outStream=new DataOutputStream(socket.getOutputStream());//客户端准备好,可以进行通讯System.out.println("client is ok,please continue!");}catch(Exception e){System.out.println(e.toString());}}public void run(){try{while(true){byte[] b=new byte[1024];String str="";//从键盘读取字符串int m=System.in.read(b);str=new String(b,0,0,m-1);//向服务器发送信息outStream.writeUTF(str);//从服务器读取信息str=inStream.readUTF();System.out.println("The client receive String:"+str);}}catch(Exception e){System.out.println(e.toString());}}}编译并运行程序。