129336664160000000实验一 Java语言基础
- 格式:doc
- 大小:125.00 KB
- 文档页数:10
实验报告课程名称: Java语言程序设计姓名:学号:班级:数学与计算机科学学院数学与计算机科学学院实验报告实验名称:Java语言基础指导教师:日期:2020.4.20实验结果第1题代码:import java.util.Scanner;public class One {public static void main(String[] args) {Scanner num1 = new Scanner(System.in);System.out.println("请输入一个16位的长整型数:");long num = num1.nextLong();long shuzi,shuzi1;int [] count = new int[10];for (int i = 0; i < 16; i++) {long a = (long)Math.pow(10, i);shuzi1 = num/a;shuzi = shuzi1%10;switch ((int)shuzi) {case 0: ++count[0];break;case 1: ++count[1];break;case 2: ++count[2];break;case 3: ++count[3];break;case 4: ++count[4];break;case 5: ++count[5];break;case 6: ++count[6];break;case 7: ++count[7];break;case 8: ++count[8];break;case 9: ++count[9];break;default: break;}}for (int i = 0; i < 10; i++) {System.out.println(num + "中" + i + "出现的次数是"+ count[i] + "次");}}}第2题代码:import java.util.Scanner;public class Two {public static void main(String[] args){Scanner sc = new Scanner(System.in);int a, n, temp, h = 0, m = 1;n = sc.nextInt();a = sc.nextInt();temp = a;for(int i = 1; i <= n; i++){ m = m * 10;h = h + a;a = a + temp * m;}System.out.println(h);}}第3题代码:import java.util.Scanner;public class Three{public static void main(String[] args){Scanner scanner = new Scanner(System.in);String str = scanner.next();int len = str.length();System.out.println("共" + len + "位");System.out.println("顺序输出:");for(int i = 0; i < len; i++)System.out.print(str.charAt(i) + " ");System.out.println("\n逆序输出:");for(int i = len-1; i >= 0; i--)System.out.print(str.charAt(i) + " ");}}第4题代码:import java.util.Scanner;public class Four {public static void main(String[] args){System.out.println("请输入一个16进制的数:");Scanner scanner = new Scanner(System.in);String str = scanner.nextLine();long sum = 0, result = 0;int len = str.length();char num;for(int i = 0; i < len; i++){num = str.charAt(i);if(num >= '0' && num <= '9')result = num-'0';else if(num >= 'A' && num <= 'F')result = num - 'A' + 10;else if(num >= 'a' && num <= 'f')result = num - 'a' + 10;else {System.out.println("输入有误!");System.exit(1);}sum = sum + Math.pow(16, len-i-1) * result;}System.out.println("其对应的10进制整数是:" + sum);}}第5题代码:import java.util.Scanner;public class Five{public static void main(String args[]){int i,a[];a = new int[10];Scanner s = new Scanner(System.in);System.out.println("请输入10个数字:");for(i = 0; i <= 9; i++)a[i] = s.nextInt();for(i = 0; i <= 8; i++){for(int j = 0; j <= 8 - i; j++) {int t;if(a[j] > a[j+1]){t = a[j];a[j] = a[j+1];a[j+1] = t;}}}System.out.println("从小到大排列为:");for(i = 0; i <= 9; i++)System.out.println(a[i]);}}实验结果第1题:第2题:第3题:第4题:第5题:。
java基础入门实验报告Java基础入门实验报告实验目的:本次实验旨在帮助初学者熟悉Java编程语言的基础知识,包括变量、数据类型、运算符、流程控制语句等,通过实际操作加深对Java语言的理解,并掌握基本的编程技能。
实验内容:1. 变量和数据类型:首先,我们学习了如何声明变量,并介绍了Java中常用的数据类型,包括整型、浮点型、字符型和布尔型等。
2. 运算符:接着,我们学习了Java中常用的运算符,包括算术运算符、关系运算符、逻辑运算符和位运算符等。
3. 流程控制语句:最后,我们学习了Java中的流程控制语句,包括if-else语句、switch语句和循环语句等。
实验步骤:1. 安装Java开发环境:首先,我们需要安装Java开发工具包(JDK),并配置好环境变量。
2. 编写第一个Java程序:接着,我们编写了一个简单的Hello World程序,并运行成功。
3. 学习变量和数据类型:然后,我们学习了如何声明变量和使用不同的数据类型。
4. 掌握运算符的使用:接着,我们练习了各种运算符的使用,包括算术运算符和逻辑运算符等。
5. 学习流程控制语句:最后,我们学习了if-else语句和for循环语句的使用,并编写了一些简单的程序进行练习。
实验结果:通过本次实验,我们成功地掌握了Java编程语言的基础知识,包括变量、数据类型、运算符和流程控制语句等,并且能够编写简单的Java程序。
同时,我们也对Java开发环境有了更深入的了解,为以后的学习打下了良好的基础。
结论:本次实验是我们学习Java编程语言的第一步,虽然只是入门级别的内容,但对于初学者来说却是非常重要的。
通过实际操作,我们不仅加深了对Java语言的理解,也掌握了基本的编程技能,为以后的学习打下了坚实的基础。
希望在以后的学习中能够不断提升自己的编程能力,更好地应用Java语言进行开发。
实验项目1 Java开发环境与语言基础第1部分 Java程序开发环境配置与简单Java程序开发[实验目的]1、熟悉Java开发环境JDK1.6,Eclipse的安装与配置。
2、学会分别运用JDK1.6和Eclipse开发简单的Application和Applet程序。
[实验要求]1、复习理论教学中所学的内容。
2、认真进行实验预习,查阅参考书,书写源程序,书写实验预习报告。
[实验课时] 2学时[实验教学方式] 学生上机实验,教师随堂指导。
[实验内容]1、下载并安装JDK1.6,过程可参考教材P4-6。
2、配置环境变量:SDK平台提供的Java编译器(javac.exe)和Java解释器(java.exe)位于Java安装目录的bin文件夹中,为了能在任何目录中使用编译器和解释器,应在系统特性中设置Path。
对于Windows2000、Windows2003、Windows XP,用鼠标右键点击“我的电脑”,弹出菜单,然后选择属性,弹出“系统特性”对话框,再单击该对话框中的高级选项,然后点击按钮“环境变量”,添加如下图所示的系统环境变量:J2SDK的安装目录的jre文件夹中包含着Java应用程序运行时所需要的Java类库,这些类库被包含在jre\lib目录下的压缩文件rt.jar中。
因此,再添加如下图所示环境变量。
3、下载Eclipse3.4或以上版本,将其解压到某一目录下。
使用时只需双击eclipse图标即可。
4、在记事本中编写简单的Application 程序,运用JDK命令方式在屏幕上打印输出“你好,很高兴学习Java”。
5、在记事本中编写简单的Applet 程序,运用JDK命令方式在Java Applet中绘制一行文字:“这是一个Java Applet 程序”。
6、在Eclipse环境下完成3,4所要求的任务,可参考教材P416实验1的步骤。
[实验步骤及提示]1、一个简单的Java Application程序。
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编程的基本技巧。
实训1. Java语言基础一. 实训目的1. 掌握算数运算符2. 了解位运算符3. 掌握条件运算符。
二. 实训器材及环境1. 计算机1台2. 已装有JDK三. 实训内容1.编写一个Application程序,检测整数、浮点数的+-*/%运行2.编写一个Application程序,检测++运算符运行3. 编写一个Application程序,检测条件运算符4. 编写一个Application程序,检测位运算符四.实训步骤1. 检测双目运算符1.1 建立工程及文件a. 打开eclipse,选择[File]新建工程,选择“Java Project”项,[Next],输入工程名,如:“fApp1”,单击[Finish]。
b. 在“fApp”上创建新的类文件(class),输入类名(文件名),如fApp或其他名字,在“Modifiers”项,选中“public”表示公共类,在“Which method stubs would you like to create?”项,选中“public static void main”表示同时创建应用的主方法(mian方法)。
单击[Finish]。
c. 生成空的类和方法体。
1.2 写出代码a. 在主方法体中声明整数i、j,并分别赋值29,3,声明单精度数a,赋值23.5f,双精点数b,赋值4.0。
b. 依次输出,注意不同类型数据运算的结果:i+a i*j i/j i%j a*b a/b a%bi*b i/b i%b1.3 调试运行若在运行时提示设置,请选择“Java Application”后,单击[New],按默认项,单击[Run]。
或在fApp上点鼠标右键,选择[Run As]——[Java Application]项。
2. ++的运算2.1 建立工程及文件a. 打开eclipse,选择[File]新建工程,选择“Java Project”项,[Next],输入工程名,如:“fApp2”,单击[Finish]。
实验1 Java入门一、实验目的1.了解Java开发环境建立的必要性;2.学会JDK的下载与安装;3、熟悉环境变量的配置与测试;4、掌握命令行环境下Java程序的编译、运行方法;5、了解Java程序的两种类型:Java应用程序和Java小应用程序;6.能够模仿书中例子,编写简单的Java应用程序和Java小应用程序,并运行;7.熟悉常用DOS命令的使用。
二、实验内容与步骤1.JDK的下载与安装(1)从Sun公司的站点/technetwork/java/index.html选择适合Windows的JDK 最新版本(如:JDK 7)进行下载,并保存在某一目录中(如:D:\java);(2)将下载所得到的文件jdk-7-windows-i586.exe运行,更改JDK的安装目录(如:c:\jdk1.7.0);(3)进入JDK的安装目录,查看bin、lib、jre、demo等子目录内容;2.环境变量的配置与测试 (以下仍为安装JDK 6.0为例进行说明,假设JDK的安装目录为c:\jdk1.6.0) (1)从“我的电脑/属性/高级/环境变量”或“开始/设置/控制面板/系统/高级/环境变量”打开环境变量设置窗口,如图1-2所示:图1-2 环境变量的设置(2)点击“新建”按钮,创建系统变量JAVA_HOME,如图1-3所示:图1-3 新建系统变量JAVA_HOME(3)如果系统变量PATH已存在,则点击“编辑”按钮,修改PATH,在变量值最前面添加%JAVA_HOME%\bin,如图1-4所示:图1-4 编辑系统变量PATH假若,系统变量PATH原先不存在,就新建一个,方法如(2);(4)点击“新建”按钮,创建系统变量CLASSPATH,一定要加上.(点号),表示当前目录,如图1-5所示:图1-5 新建环境变量CLASSPATH(5)结果如图1-6所示,按“确定”按钮保存:图1-6 环境变量配置结果(6)测试环境变量①点击“开始”菜单/运行…,输入cmd,并按回车,进入命令行环境;②输入并执行下列命令:java –versionjavac若出现图1-7等画面,说明环境变量配置正确,否则,可能存在问题:图1-7 运行java -version命令后的画面问题:①在命令行环境下,如何改变当前盘符、当前目录、显示当前目录的文件和子目录、清除屏幕?快速调用前面使用过的命令?②在命令行环境下,如何使用剪贴板进行“剪切”、“复制”、“粘贴”操作?③如何退出命令行环境?3.请用“记事本”或“写字板”等文本编辑器,根据自己情况输入下列内容,并以MySelf.java命名保存到d:\myjava目录中:说明:程序中的XXXXX用自己的个人信息替代然后在命令行环境下,用javac编译程序,用java运行程序。
实验报告课程名称Java程序设计实验项目实验一Java基础编程系别____计算机学院_________专业/班级__________姓名_______________实验日期_______________________成绩_______________________指导教师一、实验题目:实验一Java基础编程二、实验内容:(1)创建一个Java Application程序,实.现流式交互输入输出要求:从键盘输入自己的姓名,学号,专业在屏幕上输出:“姓名:,学号:,专业:”(2)创建一个Java Application程序,编写输出乘法口诀表的程序1*1=11*2=2 2*2=41*3=3 2*3=6 3*3=91*4=4 2*4=8 3*4=12 4*4=16。
(3)计算销售额假设在地产公司的收入包括基本工资和提成,基本工资是2000元,提成率的计算方式如下:销售额提成率0.01-5000 8%5000.01-10000 10%>10000.01 12%要求:从屏幕输入一年的预期收入(例如60000元),求出达到该目标所必须完成的最小销售额(4)选作:输出某个特定时间的日历页要求:从屏幕输入某个特定的时间,例如:2006-12-1,编写程序,在屏幕上以日历页的方式显示该时间,如下图所示。
提示:1)接收输入时间时,是单个时间,需要进行字符串分析,找到相应的年、月、日,因此可能要使用StringTokenizer类来为字符串构造分析器。
2)注意在创建Calendar对象时,设置的参数与实际时间之间的关系。
三、程序清单及结果:(需要标明实现程序对应的实验内容,并给出合理的程序注释及运行结果)实验(1)import java.util.*;public class InputTest {public static void main(String[] args){Scanner in =new Scanner(System.in);//构造Scanner对象,并与“标准输入流”System.in关联System.out.print("学生姓名,学号,专业");String name =in.next();//输入学生姓名int num =in.nextInt();//输入学号String major =in.next();//输入专业System.out.println("学生姓名:"+name+"学号:"+num+"专业:"+major);//输出学生姓名,学号,专业}}程序运行结果实验(二)public class wangyao{ public static void main(String args[]){int a,b,c;//定义整型变量a,b,cfor(a=1;a<=9;a++){for(b=1;b<=a;b++){c=a*b;//计算a*b的制,把制赋给cSystem.out.println(b+"*"+a+"="+c);//输出乘法式子}System.out.println("\n");//每进行完一次换行}}}实验(三)import java.util.*;public class InputTest{public static void main(String[] args){Scanner in = new Scanner(System.in);//构造Scanner对象,并与“标准输入流”System.in关联double a,b;//定义两个双精度浮点型变量a,bb=0.0;//初始化bSystem.out.print("请输入一年的预期收入");a=in.nextDouble();//从键盘输入aif(a<=28800)b=(a/12-2000)/0.08;if(a>28800&&a<=34800)b=((a/12-2000-400)/0.1)+5000.01;if(a>34800)b=((a/12-2000-400-500)/0.12)+10000.01;System.out.println("每月最小销售额是"+b);//输出每月最小销售额}}四、程序调试报告及总结在做第一个实验的时候,把System.out.println("学生姓名:"+name+"学号:"+num+"专业:"+major);的println写出print,导致不能输出。
《Java程序设计》实验报告(实验名称:实验一Java 语言入门)专业网络工程班级 2016级网络工程一班学号学生姓名指导老师年月日一、实验目的1.学习JDK的开安装和配置2.学习eclipse的安装和基本使用3.练习编写基本的Java程序4.验证8种原始数据类型数据的赋值操作5.流程控制语句的使用6.掌握JDK的安装和配置7.掌握eclipse的安装和基本使用8.掌握Java程序编写的基本方法9.理解Java程序编译和运行的基本过程10.掌握原始数据类型的初值以及基本的赋值操作11.掌握流程控制语句的使用二、实验内容:1.JDK的安装(1)下载JDK的安装文件()(2)按照安装软件提示进行安装(3)配置path和classpath(4)测试(A)javac命令(B) java命令(5)编写Hello.java中的代码(6)编译、运行2.eclipse的安装与使用(1)按安装文件进行eclipse安装(2)创建项目(3)创建Java文件(Hello.java)(4)编写Hello.java中的代码(5)编译、运行(6)安装并使用jdk api文档3.完成如下程序,并尝试取消注释片的代码,编译测试////////////////////////////Assign.java//////////////////////////////////////// //public class Assign {public static void main(String[] args) {//1.Declare and Assignint a;a=100;System.out.println("a="+a);int b=100;System.out.println("b="+b);int c=a;System.out.println("c="+c);//2.booleanboolean flag=true;//boolean flag=1; //erroSystem.out.println("flag="+flag);//3.text type// char cA='A';//char cA="A";char cA=65;System.out.println("cA="+cA);String s1="Hello world";String s2="Hello \n world";System.out.println("s1="+s1);System.out.println("s2="+s2);//4.integer typebyte iA=100;//byte iB=200;short iC=1000;int iD=10000;long iE=1000;//int iF=10000L;System.out.println("iA="+iA+"\n"+"iC="+iC+"\n"+"iD="+iD+"\n"+"iE="+iE+"\n");//5.floating-point typefloat fA=3.14F;//float fB=3.14;double fC=3.14;double fD=3.14D;double fE=2E2;double fF=123.4E+306D;System.out.println("fA="+fA+"\n"+"fC="+fC+"\n"+"fD="+fD+"\n"+"fE="+fE+"\n"+"fF="+fF+"\n");}}///////////////////////////////////////////////////////////////////////////////////////4、编写程序简单模拟自动购物机,实现以下功能:(1)(2)(3)6. 编写程序打印以下图形.7、编写测试代码测试“||”和“&&”短路现象8.编写如下代码并运行////////////////////////////MainArgs.java////////////////////////////////////// ////public class MainArgs {public static void main(String[] args){for(int i=0;i<args.length;i++){System.out.println(“args[“+i+”]=”+args[i]);}}}9、输入、输出学生的基本信息,掌握从键盘为基本数据类型的变量输入数据,练习使用scanner类和println方法。
实验一 Java语言基础【实验目的】(1)掌握下载Java SDK 软件包、学会设置Java环境变量。
掌握在Dos环境下Java应用程序和Java Applet程序的编译和运行的方法。
(2)掌握MyEclipse /JBuilder集成开发工具的使用方法。
(3)了解和掌握Java的基本数据类型;(4)熟练了解Java语言的标准输入和输出;(5)了解和运用Javax.swing.JOptionPane类实现数据的输入和输出。
(6)熟练掌握和运用数组来解决实际问题。
(7)了解和运用String类,熟悉String类的构造方法。
【实验任务】本实验由4个练习构成。
练习1:用记事本编写编写一个简单的应用程序,该程序在命令行窗口输出两行文字:“你好,很高兴学习Java”和“We are students”。
练习2:用记事本编写一个简单的Java Applet程序,并在Java Applet中写两行文字:“这是一个Java Applet程序”和“我改变了字体”。
练习3:在控制台下求两个实数的最大值问题。
通过该程序了解类System在数据输入和输出中所起的作用,以及Scanner的作用。
练习4:回文数。
编写一个Java程序。
用户从键盘输入一个1~9999之间的数,程序将判断这个数是几位数,并判断是否是回文数。
回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、3223都是回文数。
练习5:猜数字游戏。
编写一个程序,实现下列功能:程序随机分配给客户一个1~100之间的整数,用户在输入对话框中输入自己的猜测。
程序返回提示信息,提示信息分别是:“猜大了”、“猜小了”和“猜对了”。
练习6:从键盘任意输入10个数字,对这些数字用直接插入排序的方法进行排序,排序后将10个数字按从小到大的顺序排列显示出来。
练习7:String类的常用方法。
编写一个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 等,以及相应的操作方法,比如添加、删除、查找等。
实验1Java语⾔程序设计基础训练实验1 java语⾔程序设计基础训练⼀、实验⽬的熟悉Java程序结构,掌握基本数据类型的使⽤⽅法,熟练运⽤分⽀、循环等语句控制程序流程,掌握⽅法、重载⽅法的定义和使⽤,掌握数组的使⽤⽅法。
⼆、实验内容1.编程题(提交.java⽂件,并将各题的运⾏结果截图放⼊相应的题⽬下⽅):(1)掌握if条件语句的语法格式,了解if条件语句的执⾏流程1)编写⼀个类Example112)定义⼀个变量month⽤于存储⽉份。
3)⽤if条件语句,判断这个⽉份在哪⼀个季节并输出结果,如:春季是3、4、5⽉,夏季是6、7、8⽉,秋季是9、10、11⽉,冬季是12、1、2⽉4)由于⼀年只有12个⽉,所以要过滤除1-12以外的⽉份值(2)熟悉switch条件语句的语法格式,了解switch条件语句的特点1)编写⼀个类Example122)定义⼀个变量answer⽤于存储答案选项3)⽤switch条件语句判断如果变量answer为B则正确,其它则错误4)如果变量answer不等于ABCD四个选择则打印“不存在此选项”(3)掌握循环嵌套的使⽤和执⾏顺序编写⼀个类Example13,⽤for循环嵌套打印由“*”组成的直⾓三⾓形。
具体要求如下:第⼀个三⾓形为倒直⾓三⾓形,共5⾏,第⼀⾏5个“*”,⼀⾏减少⼀个,第5⾏⼀个“*”,将倒直⾓三⾓形上下翻转为正直⾓三⾓形,第⼀⾏1⼀个“*”,第5⾏5个“*”,如下图所⽰:(4)掌握⽅法的定义1)编写⼀个类Example142)定义⼀个⽅法size,设置三个参数,两个数字为int型,⼀个符号为char型3)在⽅法中,⽤if选择语句根据传⼊的符号参数进⾏不同的运算4)如果传⼊的符号不包含在加减乘除四个符号中则输出“符号错误”在main⽅法中调⽤⽅法计算3*0的结果,测试⽅法是否成功运算出正确结果(5)了解重载的定义,掌握⽅法重载的⽤法1)编写⼀个类Example152)在Example15中定义两个重载⽅法,⼀个⽤来计算矩形的⾯积(参数为长和宽,整形),⼀个⽤来计算圆形的⾯积(参数为半径r,实型,⾯积计算3.14*r*r),在main⽅法⾥⾯分别调⽤,输出⾯积计算的结果。
浙江大学城市学院实验报告课程名称面向对象程序设计实验项目名称 Java语言基础实验学生姓名专业班级学号一. 实验目的和要求1. 掌握Java语言的基本数据类型、字符串、数组2. 掌握Java语言的运算符、表达式、语句3.能够编写Java应用程序二. 实验内容1. 局部变量与final变量实验2. 基本数据类型与转换实验3. 算术运算的精度问题实验4. 移位运算实验5. 运算赋值实验6. 短路逻辑运算实验7. 编程实验:输出Unicode特定区间的字符。
8. 编程实验:分析输入的数字三. 实验结果与分析(可将程序运行结果截屏,也可分析运行结果)1. 局部变量与final变量实验。
编写以下程序,并回答问题。
public class LocalVariableInitExample {public static void main(String[] args) {int a ;System.out.print(a);final int b = 100;b++;System.out.print(b);}}(1)程序的错误1、System.out.print(a);出错,局部变量a没有进行过初始化或赋值2、b++;出错,不能对终态局部变量 b 赋值。
它必须为空白,并且不使用复合赋值(2)改正方式public class LocalVariableInitExample {public static void main(String[] args) {int a=10 ;System.out.print(a);final int b = 100;System.out.print(b);}}2. 基本数据类型与转换实验。
编写以下程序,分析代码的输出结果,并回答问题。
class Test2{public static void main(String[] args){System.out.println("第1段测试代码输出");System.out.println((byte)255);System.out.println((short)65535);System.out.println((byte)-129);System.out.println((byte)129);System.out.println((byte)128);System.out.println("第2段测试代码输出");int i = 123456789;float f = i;System.out.println(f);long j = 123456789123456789L;double d = j;System.out.println(d);System.out.println("第3段测试代码输出");System.out.println(077);System.out.println(0x77);System.out.println(77);}}请分析并回答以下问题:(1)分析第1段代码,说明在什么情况下,int类型的数字转换为byte或者short类型,会出现符号变化,即正数变负数,负数变正数?为何输出会不同?答:在强制类型转换时,如果数值超过目标类型的取值范围,那么某些数据位会被强行截断(即数据截断),从而导致数据丢失,甚至符号丢失。
实验1 Java编程基础一、实验目的1.熟悉基本数据类型,包括其所占字节数、数值范围及常数的后缀形式;2.掌握变量的声明、初始化方法,能够正确区分全局变量(即成员变量)和局部变量(即本地变量);4.掌握算术运算符(+、-、*、/、%)和自增(++)、自减(--)运算符的用法;5.掌握关系运算符()、>=、<、<=、==、!=)和逻辑运算符(!、&&、||)的使用;6.掌握if…else…语句的单分支、双分支、多分支结构的使用;7.掌握switch语句用法;8.熟悉循环结构的初始化部分、条件判断部分、修改条件部分、循环体部分的功能;9.掌握for语句的使用,熟悉for语句的简单应用(累加、连乘积、分类统计);10.掌握while语句的使用;11.掌握do…while语句的使用,能够正确区分do…while与while的不同之处;12.熟悉Java程序的常用输入输出格式;13.掌握一维数组:声明,创建,初始化,数组元素的访问;14.掌握多维数组的概念:二维数组的声明,初始化,元素的访问。
二、实验内容与步骤1.应用程序若要输出如图2-1所示结果,请将程序所缺代码填充完整,并加以运行:图2-1程序运行结果程序代码:________________ Diamond {_____________________ main(__________ args[]) {System.out.println(" *");System.out.println(" * *");System.out.println(" * *");System.out.println("* *");____________________________;____________________________;____________________________;}}2.请按下列要求,将程序代码填充完整,并加以运行:public class Test {// 初始值为0的整型变量 b1// 初始值为10000的长整型变量b2// 初始值为3.4的浮点型变量b3// 初始值为34.45的双精度型变量b4// 初始值为'’4’的字符型变量b5// 初始值为true的布尔型变量b6public static void main(String ________) {// 输出变量b1——b6的值}}3.输入下列程序内容,运行程序,并回答相关问题:public class DataType {public static void main(String args[]) {byte a1 = 126, a2 = (byte) 256, a3 = 'A';System.out.println("a1=" + a1 + "\ta2=" + a2 + "\ta3=" + a3);int b1 = 12345, b2 = (int) 123456789000L, b3 = '0', b4 = 0xff;System.out.println("b1=" + b1 + "\tb2=" + b2 + "\tb3=" + b3 + "\tb4="+ b4);char c1 = 'a', c2 = 98, c3 = '\u0043', c4 = '\n';System.out.println("c1=" + c1 + "\tc2=" + c2 + c4 + "c3=" + c3);}}问题:(1)变量a2、a3的输出内容是什么?为何出现这种变化?(2)变量b2、b3的输出内容是什么?为何出现这种变化?;(3) '\t'、'\n'各有什么特殊用途?(4)System.out的println()方法与print()方法有什么不同?(5)如何声明、初始化一个变量?(6)b4初始化时,被赋予什么进制的数?(7)写出声明ch为字符型变量、并初始化为'c'的三种不同写法。
课程实验报告
角伍分”。
注意以下几种情况:
A.当金额为整数时,只表示整数部分,省略小数部分,并添加“整”字,例如123表示成“壹佰贰拾叁元整”。
B.当金额中含有连续的0时,只需写一个“零”即可。
例如10005表示为“壹万零伍元整”。
C.10的省略表示。
例如110表示为“壹佰壹拾元整”,而10表示为“拾元整”。
D.100表示为“壹佰元整”,1000表示为“壹仟元整”等等。
调试过程及实验结果实验1实验2
10的省略表示
100的表示
总
结
实验1
通过对Pattern类的使用使程序的可执行性较高,能够良好有效的运行。
实验2
程序的编写耗费时间较长,对结果的优化不是特比理想,应该通过字符位置的查找判断进行优化,但实现较为困难。
附
录
实验1
public class Number {
public static void main(String[] args) {
"[猜想要求:1~100之间的整数]");
ext();
extLine();
boolean b = ("\\d{0,10}|(\\d{0,10}.\\d{0,2})", m);
if(b){
){
unit1[0] = "元";
quals("零") && j!=0){。
实验一、java语言基础实验一、java语言基础一、实验目的1.熟悉J a v a的运行环境。
2.掌握编写与运行J a v a程序的方法。
3.熟练掌握J a v a中的数据类型、运算符、表达式及流程控制语句。
4.掌握数组的定义、建立及其使用方法。
5.熟悉J a v a一般程序的结构。
二、实验要求1.熟悉J a v a的运行环境E c l i p s e。
2.编写一个J a v a应用程序,在屏幕上输出”h e l l o,j a v a!”。
3.编写一个J a v a小应用程序,在屏幕上输出”h e l l o,j a v a!”。
4.掌握运行J a v a程序的步骤。
5.浏览S D K自带的A p p l e t应用小程序。
6.编写一个声明J a v a不同数据类型变量的程序。
7.编写一个使用运算符、表达式、变量的程序。
8.编写表达式语句、复合语句的程序。
9.编写使用不同选择结构的程序。
10.编写使用不同循环结构结构的程序。
11.编写一个使用J a v a数组的程序。
三、实验内容(一)编写Java a p p l i c a t i o n源程序在E c l i p s e环境下,编写程序如下:p u b l i c c l a s s H e l l o{p u b l i c s t a t i c v o i d m a i n(S t r i n g a r g s[]){S y s t e m.o u t.p r i n t l n("H e l l o,w e l c o m e!");}}运行此应用程序,查看运行结果。
(二)编写J a v a a p p l e t源程序1.在E c l i p s e环境下键入如下程序:H e l l o A p p l e t.j a v ai m p o r t j a v a.a w t.G r a p h i c s;i m p o r t j a v a.a p p l e t.A p p l e t;p u b l i c c l a s s H e l l o A p p l e t e x t e n d s A p p l e t{ p u b l i c v o i d p a i n t(G r a p h i c s g){g.d r a w S t r i n g(“H e l l o,w e l c o m e!”,10,20);}}2.编译j a v a小程序j a v a c H e l l o A p p l e t.j a v a3.建立i n d e x.h t m l文件,嵌入H e l l o A p p l e t.c l a s s。
实验一:java基础知识实验目的:1.掌握jave中变量的类型。
2.掌握常用的运算符3.程序流程控制:顺序,选择和分支实验内容:1、回文数:编写一个Java程序。
用户从键盘输入一个1-9999之间的数,程序将判断这个数是几位数,并判断这个数是否回文数。
回文数是指该数含有的数字逆序排列后得到的数和原数相同。
实验类别:验证性2、猜数字游戏编写一个Java应用程序,实现如下功能:程序随机分配给客户一个1-100之间的整数用户在输入对话框中输入自己的猜测程序返回提示信息,提示信息分别是:“猜大了”、“猜小了”、和“猜对了”用户可以根据提示信息再次输入猜测,直到提示信息是“猜对了”实验类别:设计性3、输出希腊字母表为了输出希腊字母表,首先获取希腊字母表的第一个字母和最后一个字母在unicode表中的位置,然后使用循环输出剩余的希腊字母要观察一个字符在uniclde表中的顺序位置实验类别:设计性实验二类和对象实验目的:1.理解类的基本概念。
2.掌握如何定义类,定义类的成员变量和成员方法.创建和使用对象。
3.掌握定义重载方法和构造方法,方法参数的传递。
4. static变量和方法的使用。
实验内容:1、定义一个名为Rectangle的类表示矩形,其中含有length,width两个double型的成员变量表示矩形的长和宽。
要求为每个变量定义访问方法和修改方法,定义求矩形周长的方法peremeter和求面积的方法area。
定义一个带参数构造方法,通过给出的长和宽创建矩形对象。
定义默认构造方法,在该方法中调用有参构造方法,将矩形长宽设置为1.0。
实验类别:验证性2、方法重载:编写一个Java程序,反映方法重载的使用特点,该程序包含多个重载的加法的运算,如整型加法,实型加法。
实验类别:验证性3、学生类的创建:1)创建一个student类,包括的域有学号、班号、姓名、性别、年龄等2)声明一个构造方法,以初始化对象的所有域3)声明分别获得各属性(学号、班号、姓名、性别、年龄)的各个public方法。
实验一Java语言基础姓名:专业:计算机科学与技术班级:学号:一.实验目的(1)学习和掌握JDK常见的工具(2)学会使用Eclipse开发工具(3)学习开发Applet和Application程序二.实验内容1.安装和配置JDK环境变量2.实现安装Eclipse开发工具,并将工具汉化3.编程,绘制围棋棋盘4.编程,输入年份和月份,输出指定年份和月份的月历5.编程,模拟多付扑克牌洗牌的过程,可以从键盘输入扑克牌的付数三.实验源码和结果(一)围棋棋盘package 围棋棋盘;importjava.awt.Color;importjava.awt.Font;importjava.awt.Graphics;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JColorChooser;importjavax.swing.JFrame;importjavax.swing.JMenu;importjavax.swing.JMenuBar;importjavax.swing.JMenuItem;@SuppressWarnings("serial")public class QiPan2 extends JFrame{public QiPan2() {setSize(560,560);setDefaultCloseOperation(EXIT_ON_CLOSE);}public void paint(Graphics g){super.paint(g);for(inti=0;i<19;++i){g.drawLine(100, 100+20*i, 460, 100+20*i);g.drawLine(100+20*i, 100, 100+20*i, 460);}for(inti=0;i<3;++i)for(int j=0;j<3;++j){g.fillOval(157+120*i, 157+120*j, 6, 6);}}public static void main(String[] args) {// TODO 自动生成的方法存根QiPan2 qiPan2=new QiPan2();qiPan2.setVisible(true);qiPan2.setResizable(false);}}//////////////////////////////////////////////////////////////////////////////////////////////// (二)打印月历package 月历;importjava.text.SimpleDateFormat;importjava.util.Calendar;importjava.util.Date;importjava.util.Scanner;public class YueLi {//判断是否闰年privateboolean run(int year){if((year%4==0 && year%100!=0)||(year%400==0 && year%3200!=0)) return true;else {return false;}}//判断某年某月有多少天privateintgetDay(intyear,int month){intRunYear[]={31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};//闰年月份intNotRYear[]={31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};//普通月份if(this.run(year))returnRunYear[month-1];else {returnNotRYear[month-1];}}//判断某月的第一天是星期几privateintgetWeek(intyear,int month){Calendar calendar=Calendar.getInstance();calendar.set(Calendar.YEAR, year);calendar.set(Calendar.MONTH, month);calendar.set(Calendar.DAY_OF_MONTH, 1);returncalendar.get(Calendar.DAY_OF_WEEK);}//打印月历public void Print(intyear,int month){System.out.println(" "+year+"年"+month+"月");System.out.println("日\t一\t二\t三\t四\t五\t六");for(inti=1;i<getWeek(year, month);++i){System.out.print(" \t");}for(inti=1;i<=8-getWeek(year, month);++i){System.out.print(i+"\t");}System.out.println();for(inti=9-getWeek(year, month);i<=getDay(year, month);++i){if((i+getWeek(year, month)-2)%7==0)System.out.println();System.out.print(i+"\t");}}public void Show(){intyear,month;YueLiyLi=new YueLi();System.out.print("请输入年份:");Scanner y=new Scanner(System.in);year=y.nextInt();System.out.print("请输入月份:");Scanner m=new Scanner(System.in);month=m.nextInt();yLi.Print(year,month);y.close();m.close();}public static void main(String[] args) {YueLiyueLi=new YueLi();yueLi.Show();}}////////////////////////////////////////////////////////////////////////////////////////////////////// (三)模拟扑克牌洗牌package洗牌;publicenum Face {ONE("A"),TWO("2"),THREE("3"),FORTH("4"),FIVE("5"),SIX("6"),SEVEN("7"),EIGHT("8"),NINE("9"),TEN("10"),J("J"),Q("Q"),K("K");private String face;private Face(String face){this.face=face;}public String toString(){return face;}}//////////////////////////////////////////////////////////////////// package洗牌;publicenum FlowColor {FLOWER("梅花"),HEITAO("黑桃"),RECENT("方块"),HEART("红心");private String colorString;private FlowColor(String color){this.colorString=color;}public String toString(){return colorString;}}//////////////////////////////////////////////////////////////////// package洗牌;import java.util.Random;publicclass Card {private Face []face=Face.values();private FlowColor []flowColor=FlowColor.values(); privateint num;private String []cards =new String[52];public Card(int num){if(num<2)this.num=1;elsethis.num=num;oneCard();}privatevoid oneCard(){for(int i=0; i<flowColor.length;i++)for(int j=0;j<face.length;j++)cards[13*i+j]=flowColor[i]+""+face[j]; }privatevoid printOneCard(){for(int i=0; i<cards.length;i++){System.out.print(cards[i]+" ");if((i+1)%13==0)System.out.println();}}publicvoid printnCard(){for(int i=0;i<num;i++){printOneCard();System.out.println();}}publicvoid washCard(){Random random=new Random();int n;String temp=null;for(int j=0;j<num;j++){for(int i=0; i<cards.length;i++){n=random.nextInt()%51;n=Math.abs(n);if(i==n);else{temp=cards[n];cards[n]=cards[i];cards[i]=temp;}}printOneCard();System.out.println();}}public String toString(){return face.toString()+""+flowColor.toString();}}//////////////////////////////////////////////////////////////////// package洗牌;import java.util.Scanner;publicclass Poker {publicstaticvoid main(String[] args) {System.out.print("please input n:");Scanner s=new Scanner(System.in);int n=s.nextInt();Card card=new Card(n);card.printnCard();card.washCard();s.close();}}。
实验一 Java语言基础一.基本运算练习【实验目的】(1)了解和掌握Java的基本数据类型;(2)掌握Java的基本运算;(3)熟练了解Java语言的标准输入和输出;(4)了解和运用Javax.swing.JOptionPane类实现数据的输入和输出。
【实验任务】本实验由4个练习构成。
练习1:在控制台下求两个实数的最大值问题。
通过该程序了解类System在数据输入和输出中所起的作用,以及Scanner的作用。
练习2:要求编写一个应用程序,输入一个整数,输出将该整数分别向左移5位和向右移3位的结果。
练习3:回文数。
编写一个Java程序。
用户从键盘输入一个1~9999之间的数,程序将判断这个数是几位数,并判断是否是回文数。
回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、3223都是回文数。
练习4:猜数字游戏。
编写一个程序,实现下列功能:程序随机分配给客户一个1~100之间的整数,用户在输入对话框中输入自己的猜测。
程序返回提示信息,提示信息分别是:“猜大了”、“猜小了”和“猜对了”。
【实验内容】练习1:在控制台下求两个实数的最大值。
从键盘输入任意两个实数,比较两个数字的大小,将较大的数输出。
数据输入和输出用Java的标准输入流和输出流来实现。
阅读分析下面程序,将程序中的代码补充完整,实现数据比较功能。
import java.util.Scanner;public class CompareTwoNumbers1 {double number1,number2;Scanner scanner;public CompareTwoNumbers1(){System.out.println("请输入两个数字:");scanner=new Scanner( 代码1 );//实例化一个Scanner对象;number1= 代码2 ;//从键盘输入一个实数赋值给number1;number2= 代码3 ;// 从键盘输入一个实数赋值给number2;System.out.println("较大的数值是:"+ 代码4 );//将number1和number2中的较大值输出;}public static void main(String args[]){CompareTwoNumbers1 ct=new CompareTwoNumbers1();System.exit(0);}}练习2:移位运算本练习是了解移位运算的规则,并能熟练运用JOptionPane类实现数据的输入和输出。
阅读分析下面的程序,将程序中的代码补充完整,编译并调试程序,查看结果。
//BitMovement.javaimport javax.swing.JOptionPane;public class BitMovement {int number,result1,result2;String numStr,resultStr;public BitMovement() {numStr= 代码1 ;//利用JOptionPane从输入窗口中输入一个数字;number=Integer.parseInt(numStr);//解析numStr字符串,得到的整数赋值给number;result1= 代码2 ;//将数字number向左移动5位赋值给result1;result2= 代码3 ;//将数字number向右移动3位赋值给result2;resultStr=number+"<<5="+result1;resultStr+="\n"+number+">>3="+result2;//将移位的结果result1和result2添加到字符串resultStr尾部JOptionPane.showMessageDialog(null,resultStr,"移位的结果",RMATION_MESSAGE);//显示运行结果}public static void main(String args[]){BitMovement bitMovement=new BitMovement();System.exit(0);}}思考:移位运算中“>>”和“>>>”有什么不同?将程序中第9行语句实现右移5位,分别用这两个运算符来实现,比较它们在分别输入数字-1和1的时候,结果有什么不同?为什么?练习3:回文数阅读分析下面程序,将程序中的代码补充完整,编辑运行查看结果。
//Number.javaimport javax.swing.JOptionPane;public class Number{public static void main(String args[]){int number=0,d5,d4,d3,d2,d1;String str=JOptionPane.showInputDialog("输入一个1至99999之间的数"); number=Integer.parseInt(str);if(【代码1】) //判断number在1至99999之间的条件{【代码2】 //计算number的最高位(万位)d5【代码3】 //计算number的千位d4【代码4】 //计算number的百位d3d2=number%100/10;d1=number%10;if(【代码5】) //判断number是5位数的条件{System.out.println(number+"是5位数");if(【代码6】) //判断number是回文数的条件{System.out.println(number+"是回文数");}else{System.out.println(number+"不是回文数");}}else if(【代码7】) //判断number是4位数的条件{System.out.println(number+"是4位数");if(【代码8】) //判断number是回文数的条件码{System.out.println(number+"是回文数");}else{System.out.println(number+"不是回文数");}}else if(【代码9】) //判断number是3位数的条件{System.out.println(number+"是3位数");if(【代码10】) //判断number是回文数的条件{System.out.println(number+"是回文数");}else{System.out.println(number+"不是回文数");}}else if(d2!=0){System.out.println(number+"是2位数");if(d1==d2){System.out.println(number+"是回文数");}else{System.out.println(number+"不是回文数");}}else if(d1!=0){System.out.println(number+"是1位数");System.out.println(number+"是回文数");}}else{System.out.printf("\n%d不在1至99999之间",number);}}}练习4:猜数字游戏阅读分析下面程序,将程序中的代码补充完整,编辑运行查看结果。
//GuessNumber.javaimport javax.swing.JOptionPane;public class GuessNumber{public static void main (String args[ ]){System.out.println("给你一个1至100之间的整数,请猜测这个数");int realNumber=(int)(Math.random()*100)+1;int yourGuess=0;String str=JOptionPane.showInputDialog("输入您的猜测:");yourGuess=Integer.parseInt(str);while(【代码1】) //循环条件{if(【代码2】) //条件代码{str=JOptionPane.showInputDialog("猜大了,再输入你的猜测:"); yourGuess=Integer.parseInt(str);}else if(【代码3】) //条件代码{str=JOptionPane.showInputDialog("猜小了,再输入你的猜测:"); yourGuess=Integer.parseInt(str);}}System.out.println("猜对了!");}}二.数组排序【实验目的】(1)理解和掌握数组的基本内容:数组声明、数组初始化、数组的复制、数组的应用等;(2)熟练掌握和运用数组来解决实际问题。
【实验任务】从键盘任意输入10个数字,对这些数字用直接插入排序的方法进行排序,排序后将10个数字按从小到大的顺序排列显示出来。
【实验内容】直接插入排序的基本思想:假设待排序的记录存放在数组num[1..n]中。
初始时,num[1]自成1个有序区,无序区为num[2..n]。
从i=2起直至i=n为止,依次将num[i]插入当前的有序区num[1..i-1]中,生成含n个记录的有序区。
阅读并分析以下程序,深刻理解直接插入排序的算法,并将程序中的代码补充完整,编辑并查看结果。
//InsertSort.javaimport java.util.Scanner;public class InsertSort {double num[];Scanner scanner;public InsertSort() {num=new double[11];scanner=new Scanner(System.in);num[0]=0;//作为哨兵System.out.println("请输入十个数字:");for(int i=1;i<num.length;i++){num[i]=scanner.nextDouble();}//输入10个数字;directSort(num); //对num数组下标从1到11的元素直接插入排序System.out.println("排序后的结果是:");for(int i=1;i<num.length;i++){System.out.print(num[i]+" ");}//将排序后的num输出}public void directSort(double n[]){//对数组下标为1的开始的元素进行直接插入排序int i,j;for(i=2;i<n.length;i++){代码1for(j=i-1; 代码2 ;j--)代码3代码4 =n[0];}}//对十个数字进行插入排序;public static void main(String args[]){InsertSort insertSort=new InsertSort();System.exit(0);}}思考:本练习是先输入10个数字在排序,如果要求边输入数字边按从小到大的顺序插入到数组中,该如何实现?三.字符串类的常见应用【实验目的】(1)了解和运用String类,熟悉String类的构造方法;(2)掌握String类的常用方法,特别是对这些方法的作用、特点以及应用的前提有一个深入的认识。