作业1—java基础实验——参考答案

作业1—java基础实验——参考答案
作业1—java基础实验——参考答案

1、从键盘上输入10个整数,并将其放入一个一维数组中,然后将其前5个元素与后5个元素对换,即:第1个元素与第10个元素互换,第2个元素与第9个元素互换…第5个元素与第6个元素互换。分别输出数组原来各元素的值和对换后各元素的值。

参考答案

具体代码实现如下:

1.package programe;

2.

3.import java.io.BufferedReader;

4.import java.io.IOException;

5.import java.io.InputStreamReader;

6.

7.public class HuHuanDemo {

8.public static void main(String args[]) {

9. print();

10.

11. }

12.

13.public static int[] write() {

14. BufferedReader[] buf = new

BufferedReader[10];/* 申请缓冲数组 */

15.int n;/* 开关量和中间量 */

16.int array[] = new int[10];

17.for (int i = 0; i < 10; i++)/* 赋值 */

18. {

19. buf[i] = new BufferedReader(new

InputStreamReader(System.in));

20./* 给每个缓冲区定义 */

21.do/* 判断是否是空串,如是则重新输入 */

22. {

23. n = 1;

24. System.out.print("请输入第" + (i + 1) + "个整

数:");

25.try/* 建立一个异常捕获 */

26. {

27. array[i] = Integer.parseInt

(buf[i].readLine());/* 执行串变整数 */

28./*

29. * Integer.parseInt(str) - str

转成 int型 buf[i].readLine() -

30. * 从系统输入缓冲区读入字符流给

buf缓冲区并返回字符串

31. */

32. } catch (NumberFormatException e)/* 捕获异

常 */

33. {

34. System.out.println("数据输入

错误请重新输入");/* 处理异常 */

35. n = 0;

36. } catch (IOException e) {

37. e.printStackTrace();

38. }

39. } while (n == 0);

40. }

41.return array;

42.

43. }

44.

45.public static void print() {

46.int[] ary = write();

47.int s;

48. System.out.println("\n你输入的数组是:");

49.for (int i = 0; i < 10; i++)/* 输出原数组 */

50. {

51. System.out.print(ary[i] + " ");

52. }

53.for (int i = 0; i < 5; i++)/* 对换 */

54. {

55. s = ary[i];

56. ary[i] = ary[9 - i];

57. ary[9 - i] = s;

58. }

59.

60. System.out.println("\n对换后的数组是:");

61.for (int i = 0; i < 10; i++)/* 输出对换后数组 */

62. {

63. System.out.print(ary[i] + " ");

64. }

65. System.out.println();

66. }

67.

68.}

69.程序输出的结果如图17.2所示。

2、金额转换,阿拉伯数字的金额转换成中国传统的形式如:

(¥1011)→(壹仟零壹拾壹元整)输出。

试题分析

金额转换,在开发财务相关软件时会经常用到,也是软件本地化的一个需要。一般开发公司或者团队都有相应的金额转换类或者是模块,配合报表工具,可以实现良好的本地化

参考答案

具体代码实现如下:

1.package programe;

2.import java.text.NumberFormat;

3.import java.util.HashMap;

4.import java.util.Scanner;

5.public class AmountOfConversion {

6.//定义HashMap的value值

7.public static final String EMPTY = "";

8.public static final String ZERO = "零";

9.public static final String ONE = "壹";

10.public static final String TWO = "贰";

11.public static final String THREE = "叁";

12.public static final String FOUR = "肆";

13.public static final String FIVE = "伍";

14.public static final String SIX = "陆";

15.public static final String SEVEN = "柒";

16.public static final String EIGHT = "捌";

17.public static final String NINE = "玖";

18.public static final String TEN = "拾";

19.public static final String HUNDRED = "佰";

20.public static final String THOUSAND = "仟";

21.public static final String TEN_THOUSAND = "万";

22.public static final String HUNDRED_MILLION = "亿";

23.public static final String YUAN = "元";

24.public static final String JIAO = "角";

25.public static final String FEN = "分";

26.public static final String DOT = ".";

27.private static AmountOfConversion formatter = null;

//创建AmountOfConversion的实例对象

28.//创建初始化一个HashMap对象

29.private HashMap NumberMap = new HashMap();

30.private HashMap HighnumberofMoney = new HashMap();

31.//创建初始化一个NumberFormat对象

32.private NumberFormat numberFormat =

NumberFormat.getInstance();

33.private AmountOfConversion() {

34.//在用new创建AmountOfConversion对象时,

为HashMap对象进行key-value的映射

35. numberFormat.setMaximumFractionDigits(4);

//设置数据的小数部分的最大位数是4位

36. numberFormat.setMinimumFractionDigits(2);

//设置数据的小数部分的最小位数是2位

37. numberFormat.setGroupingUsed(false);

/*设置此格式中是不可以使用组。如果设置可以使用组,

则数 1234567 可能被格式化为 "1,234,567"*/

38. NumberMap.put("0", ZERO);

39. NumberMap.put("1", ONE);

40. NumberMap.put("2", TWO);

41. NumberMap.put("3", THREE);

42. NumberMap.put("4", FOUR);

43. NumberMap.put("5", FIVE);

44. NumberMap.put("6", SIX);

45. NumberMap.put("7", SEVEN);

46. NumberMap.put("8", EIGHT);

47. NumberMap.put("9", NINE);

48. NumberMap.put(DOT, DOT);

49. HighnumberofMoney.put("1", TEN);

50. HighnumberofMoney.put("2", HUNDRED);

51. HighnumberofMoney.put("3", THOUSAND);

52. HighnumberofMoney.put("4", TEN_THOUSAND);

53. HighnumberofMoney.put("5", TEN);

54. HighnumberofMoney.put("6", HUNDRED);

55. HighnumberofMoney.put("7", THOUSAND);

56. HighnumberofMoney.put("8", HUNDRED_MILLION);

57. }

58.public static AmountOfConversion getInstance() {

//判断AmountOfConversion对象formatter是否初始化

59.if (formatter == null)

60. formatter = new AmountOfConversion();

61.return formatter;

62. }

63.//进行金额转换的多种数据类型

64.public String format(String moneyStr) {

65. String result = "不能进行金额转换!!";

66.if(isConversion(moneyStr)){

67. result = convertIntegerTochinese(moneyStr);

68. result = convertPointTochinese(result);

69. }

70.return result;

71. }

72.public String format(double moneyDouble) {

73.return format(numberFormat.format(moneyDouble));

74. }

75.public String format(int moneyInt) {

76.return format(numberFormat.format(moneyInt));

77. }

78.public String format(long moneyLong) {

79.return format(numberFormat.format(moneyLong));

80. }

81.public String format(Number moneyNum) {

82.return format(numberFormat.format(moneyNum));

83. }

84.private String convertIntegerTochinese(String moneyStr) {

//将参数中传入的阿拉伯数字转换成中文

85. String result;

86. StringBuffer C2CStrBufer = new StringBuffer();

87.for (int i = 0; i < moneyStr.length(); i++) {

88. C2CStrBufer.append(NumberMap.get(moneyStr.substri

ng(

89. i, i + 1)));

90. }

91.// 拾佰仟万亿等都是汉字里面才有的单位,加上它们

92.int indexOfDot = C2CStrBufer.indexOf(DOT);

93.int moneyPatternCursor = 1;

94.for (int i = indexOfDot - 1; i > 0; i--) {

95. C2CStrBufer.insert(i, HighnumberofMoney.get(EMPTY

96. + moneyPatternCursor));

97. moneyPatternCursor = moneyPatternCursor == 8 ? 1

98. : moneyPatternCursor + 1;

99. }

100. String fractionPart = C2CStrBufer.substring(C2CStrBuf er

101. .indexOf("."));

102. C2CStrBufer.delete(C2CStrBufer.indexOf("."),

103. C2CStrBufer.length());

104.while (C2CStrBufer.indexOf("零拾") != -1) {

105. C2CStrBufer.replace(C2CStrBufer.indexOf("零拾"), 106. C2CStrBufer.indexOf("零拾") + 2, ZERO); 107. }

108.while (C2CStrBufer.indexOf("零佰") != -1) {

109. C2CStrBufer.replace(C2CStrBufer.indexOf("零佰"), 110. C2CStrBufer.indexOf("零佰") + 2, ZERO); 111. }

112.while (C2CStrBufer.indexOf("零仟") != -1) {

113. C2CStrBufer.replace(C2CStrBufer.indexOf("零仟"), 114. C2CStrBufer.indexOf("零仟") + 2, ZERO); 115. }

116.while (C2CStrBufer.indexOf("零万") != -1) {

117. C2CStrBufer.replace(C2CStrBufer.indexOf("零万"), 118. C2CStrBufer.indexOf("零万

") + 2, TEN_THOUSAND);

119. }

120.while (C2CStrBufer.indexOf("零亿") != -1) {

121. C2CStrBufer.replace(C2CStrBufer.indexOf("零亿"), 122. C2CStrBufer.indexOf("零亿

") + 2, HUNDRED_MILLION);

123. }

124.while (C2CStrBufer.indexOf("零零") != -1) {

125. C2CStrBufer.replace(C2CStrBufer.indexOf("零零"), 126. C2CStrBufer.indexOf("零零") + 2, ZERO); 127. }

128.if (https://www.360docs.net/doc/4616413999.html,stIndexOf(ZERO) == C2CStrBufer.leng th() - 1)

129. C2CStrBufer.delete(C2CStrBufer.length() - 1, 130. C2CStrBufer.length());

131. C2CStrBufer.append(fractionPart);

132. result = C2CStrBufer.toString();

133.return result;

134. }

135.private String convertPointTochinese(String moneyStr) {

//对小数点后面的数字进行汉字处理

136. String result;

137. StringBuffer C2CStrBufer = new StringBuffer(moneyStr) ;

138.int indexOfDot = C2CStrBufer.indexOf(DOT);

139. C2CStrBufer.replace(indexOfDot, indexOfDot + 1, YUAN) ;

140. C2CStrBufer.insert(C2CStrBufer.length() - 1, JIAO); 141. C2CStrBufer.insert(C2CStrBufer.length(), FEN);

142.if (C2CStrBufer.indexOf("零角零分") != -1)// 没有零头,加整

143. C2CStrBufer.replace(C2CStrBufer.indexOf("零角零分"),

144. C2CStrBufer.length(), "整");

145.else if (C2CStrBufer.indexOf("零分") != -1)// 没有零分,加整

146. C2CStrBufer.replace(C2CStrBufer.indexOf("零分"), 147. C2CStrBufer.length(), "整");

148.else {

149.if (C2CStrBufer.indexOf("零角") != -1)

150. C2CStrBufer.delete(C2CStrBufer.indexOf("零角"),

151. C2CStrBufer.indexOf("零角") + 2); 152. }

153. result = C2CStrBufer.toString();

154.return result;

155. }

156.private boolean isConversion(String moneyStr) {

//判断参数传来的数据是否符合进行转换的条件

157.int fractionDigits = moneyStr.length() - moneyStr.indexOf(DOT) - 1;

158.boolean flag = true;

159.if (fractionDigits > 2){

160. System.out.println("金额" + moneyStr + "

的小数位多于两位。");

// 精度不能比分低

161. flag = false;

162. }

163.return flag;

164.

165. }

166.public static void main(String args[]) {

167. System.out.println("请输入金额数:");

168. Scanner scanner = new Scanner(System.in);

169. String str = scanner.next();

170. System.out.println("转换后的金额为:");

171. System.out.println(getInstance().format(new Double(st r)));

172. }

173.}

浙大JAVA 实验题答案05answer1

实验5 分支结构程序的设计 1.程序填空题,不要改变与输入输出有关的语句。 20004 计算旅途时间 输入2个整数time1和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。 有效的时间范围是0000到2359,不需要考虑出发时间晚于到达时间的情况。 例:括号内是说明 输入 712 1411(出发时间是7:12,到达时间是14:11) 输出 The train journey time is 6 hrs 59 mins. import java.util.Scanner; public class Test20004 { public static void main(String[] args) { Scanner in=new Scanner(System.in); int time1, time2, hours, mins; time1=in.nextInt(); time2=in.nextInt(); /*------------------*/ /*计算两个时间之间的小时数和分钟数*/ hours=time2/100-time1/100; mins=time2%100-time1%100; /*当计算得到的分钟数为负数时进行调整*/ hours=mins>0?hours:hours-1; mins=mins>0?mins:mins+60; //或:if(mins<0){hours-=1;mins+=60;} System.out.println("The train journey time is "+hours+" hrs "+ mins+" mins."); } } 30001 显示两级成绩 输入一个正整数repeat (0

Java语言程序设计-实验1

Java 语言程序设计习题1 p1.使用Eclipse: 1)打开Eclipse,File->new->Java project 2)Project name 写上“学号_姓名”(重要!),点击Finish。 3)鼠标右击左侧出现的Project文件,new->class

4)name栏写上习题名称,如创建的是主函数,勾上public void static main选项。 5)输入Java代码。 6)鼠标右击project文件下的***.java文件,run as->Java Application,或单击按钮。7)下侧console窗口将显示运行结果。

p2.在console窗口输出如下字符串: p3.创建如下变量: int a = 6; int b = 4; int c = 5; int x; 使用条件运算符(op1 ? op2 :op3),在a、b、c中选择值最大的变量,将其值赋予变量x。console窗口输出:“x=....”。 p4.创建如下变量: int speed; String s1 = “正常”; String s2 = “违章”; String result; 假设高速公路的最低限速是60,最高限速是120。于speed变量赋任意值,用条件运算符判断是否违章,并在console窗输出结果。 p5.调试课后习题2-1(教科书70页,Exer2_1.java) 余下时间调试1、2章例题代码,如实验完毕,可提前15分钟离开实验室。 关于实验报告(重要!): 发送报告书电子版与程序源代码交给班长。 报告书电子版:新建记事本(.txt)文件,复制各题的程序代码(复制时请标注class名称,如:p1.java)。文件名为: 学号_姓名.txt 程序源代码:左侧project文件->鼠标右键->properties,可查看源代码路径。将project 文件夹(例:123456_小明)整体压缩。文件名为: 学号_姓名.zip(或rar) 提交时限为下节理论课开始前,过期将扣分;下节实验课开始后,不再接受报告。 抄袭、拷贝者,双方都判为0分。

实验5 JAVA常用类

山西大学计算机与信息技术学院 实验报告 姓名学号专业班级 课程名称 Java实验实验日期成绩指导教师批改日期 实验5 JAVA常用类实验名称 一.实验目的: (1)掌握常用的String,StringBuffer(StringBuilder)类的构造方法的使用;(2)掌握字符串的比较方法,尤其equals方法和==比较的区别; (3)掌握String类常用方法的使用; (4)掌握字符串与字符数组和byte数组之间的转换方法; (5)Date,Math,PrintWriter,Scanner类的常用方法。 二.实验内容 1.二进制数转换为十六进制数(此程序参考例题249页9. 2.13) 程序源代码 import java.util.*; public class BinToHexConversion{ //二进制转化为十六进制的方法 public static String binToHex(String bin){ int temp; //二进制转化为十六进制的位数 if(bin.length()%4==0) temp = bin.length()/4; else temp = bin.length()/4 + 1; char []hex = new char[temp]; //十六进制数的字符形式 int []hexDec = new int[temp];//十六进制数的十进制数形式 int j = 0; for(int i=0;i=0&&dec<10) return (char)('0'+dec-0); else if(dec>=10&&dec<=15) return (char)('A'+dec-10); else return '@'; }

java基础练习题

1) 以下关于Java语言说法错误的是()。(选择两项) a) Java语言是一种OO语言,Java API是Java语言的帮助文档 b) Java语言具有平台无关性-Write Once,Run Anywhere c) Java语言的核心是Java Virtual Machine d) 使用Java语言,程序员要使用原始方法分配和释放内存空间 e) Java语言是一种编译执行语言 知识点: 第一章Java语言基础Java语言基本概念 2) 以下哪一项不是Java的关键字(b)。(选择一项) a) if b) then c) goto d) case e) while 知识点: 第二章Java编程基础Java中的关键字 3) 下列(a,e)不是合法的Java语言标识符。(选择两项) a) 2variable b) variable2 c) _whatavariable d) $anothervar e) #myvar f) _3_ 知识点: 第二章Java编程基础Java中的标识符 4) 执行下列代码段后,变量x的值是(c)。(选择一项) x=9; y=9; x=(y<=x++)?1:0; a) 1 b) 2 c) 0 d) 10 知识点: 第二章Java编程基础三元运算符 5) System.out.println(4 | 7);上面语句的输出结果是(d)。(选择一项) a) 4 b) 5 c) 6 d) 7 e) 0 知识点: 第二章Java编程基础位运算符 6) 以下会产生编译错误的Java语句是(b)。(选择一项) a) if (2 == 3) System.out.println("Hi"); b) if (2 = 3) System.out.println("Hi");

实验一java基础知识

实验一: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方法。4)声明修改各属性(学号、班号、姓名、性别、年龄)的各个public方法。5)创建一个具体学生对象,进行输出。 实验类别:设计性 4、定义一个类,类中有两个整型变量x和y,并定义构造函数初始化这两个变量。(通过构造函数传数据,数据值自定) 类中还可定义以下方法: 求两个数的和(x+y)并返回结果,求两个数的差(x-y)并返回结果,求两个数商(x/y)并返回结果,求两个数的余数(x%y)并返回结果,求两个数的最大值并返回结果。 编写应用程序,测试上面定义的类,使用类中定义的各个方法并将其结果输出。实验类别:验证性 5、用set()、get()方法传递数据: 本工程共有三个类,Person类、Employee类、和Test类,其中Test类 为测试类,其中有main()方法。 调用的是默认的构造方法,参数为空。 实验类别:设计性

java实验答案解读

实验一 水仙花数: class shuixianhua {//水仙花数 public static void main(String arg[]) { int i,a,a1,b,b1,c; for(i=100;i<1000;i++) { a=i%10; a1=i/10; b=a1%10; b1=a1/10; c=b1%10; if(i==(a*a*a+b*b*b+c*c*c)) System.out.println(i); } } } 输出如下: 153 370 371 407 打印出100以内素数: public class sushu { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int i,j,k=0; for(i=2;i<100;i++){ if(i==2) System.out.println(i); i++; for(j=2;j

k=1; } if(k==1) System.out.println(i); } } 求1!+2!+ (20) public class jiecheng { public static void main(String[] args) { int i,sum=0,k; for(i=1;i<=20;i++) { k=ji(i); sum=k+sum; } System.out.print(sum); } static int ji(int n) { if(n==1) return 1; else return ji(n-1)*n; } } 习题2.6 public class Test{ public static void main(String[] args)//第19题,打出图形.菱形{ int n=3; for(int i=1;i<=n;i++) { for(int k=n-1;k>=i;k--) { System.out.print(" "); } for(int j=1;j<=2*i-1;j++)//打印* {

Java基础习题

Java基础习题(附答案)1 1.下列语句序列执行后,m 的值是( C)。 int a=10, b=3, m=5; if( a==b ) m+=a; else m=++a*m; A) 15 B) 50 C) 55 D) 5 2.下列语句序列执行后,k 的值是(B )。 int i=4,j=5,k=9,m=5; if(i>j||mj||m

Java基础入门课后习题及答案

《Java基础入门》课后习题 第1章Java开发入门 一、填空题 1、Java的三大体系分别是_JavaSE_____、_JavaEE_____、_JavaME_____。 2、Java程序的运行环境简称之为JRE_____。 3、编译Java程序需要使用_javac_____命令。 4、javac.exe和java.exe两个可执行程序存放在JDK安装目录的bin______目录下。 5、path______环境变量用来存储Java的编译和运行工具所在的路径,而_classpath_____环境变量则用 来保存保存Java虚拟机要运行的“.class”文件路径。 二、选择题 1、以下选项中,哪些属于JDK工具?(多选)ABCD A、Java编译器 B、Java运行工具 C、Java文档生成工具 D、Java打包工具 2、Java属于以下哪种语言?C A、机器语言 B、汇编语言 C、高级语言 D、以上都不对 3、下面哪种类型的文件可以在Java虚拟机中运行?D A、.java B、.jre C、.exe D、.class 4、安装好JDK后,在其bin目录下有许多exe可执行文件,其中java.exe命令的作用是以下哪一种?B A、Java文档制作工具 B、Java解释器 C、Java编译器 D、Java启动器 5、如果jdk的安装路径为:d:\jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和java 命令,需要将环境变量path设置为以下哪个选项?B A.d:\jdk; B.d :\jdk\bin; C.d:\jre\bin; D.d:\jre;

JAVA实验报告一

Java语言程序设计实验报告一 班级:姓名:学号: 一、实验教学目的与基本要求 Java程序设计的实验是Java程序设计课程重要的实践教学环节。实验的目的不仅仅是验证理论知识,更重要的是通过上机加强学生的动手能力,掌握常用Java开发环境的使用方法,培养学生分析问题、解决问题、应用知识的能力和创新精神。充分放手让学生自行设计、自主调试,真正培养学生的实践动手能力,全面提高学生的综合素质。 本课程是一门程序设计语言课程,通过本课程的学习,学生能够掌握Java 语言程序的基本特点、基本编程方法和基本开发技巧,培养学生阅读、分析、设计和调试Java语言的能力,并具备一定的面向对象程序设计思想。 本课程的主要任务是在已学习的编程语言基础上,讲述Java语言的数据结构和语法规则;基本控制结构和编程技巧;Java语言面向对象的特点、编程方法和程序设计思路;Java语言的GUI程序和文件及I/O流的编程方法;能够正确配置Java开发环境,并使用相关的编辑、编译、调试、运行命令。 (1)掌握Java语言的编程技巧,能够独立进行面向对象的开发能力。 (2)具有根据编程需求独立查询Java类库文档及相关资料,完成系统的能力。 (3)具有分析、寻找和排除程序中常见问题的能力。

二、实验内容与收获 (1)Java的安装与配置。熟悉语言环境及简单程序设计的使用练习,正确配置Java 开发环境(Eclipse 集成开发环境的安装、配置与使用) a)安装JDK Sun公司为所有的Java程序员提供了一套免费的Java开发和运行环境。 可以通过IE或Netscape浏览器浏览网址:https://www.360docs.net/doc/4616413999.html,/j2se,根据提示可以下载支持Microsoft Windows操作系统的jdk-1_5_0-windows-i586.exe到本地硬盘。 安装的时候可以选择安装到任意的硬盘驱动器上,例如安装到D:\jdk1.5.0目录下,如图1-2。正确安装后,在JDK目录下有bin、demo、lib、jre等子目录,如图1-3,其中bin目录保存了javac、java、appletviewer等命令文件,demo目录保存了许多java的例子,lib目录保存了Java的类库文件,jre目录保存的是Java的运行时环境(JRE)。 图1-2

最新JAVA实验6答案

广东海洋大学学生实验报告书(学生用表) 实验名称实验六. Java的接口与实现课程名称Java程序设计与开发 技术 课程号16232204 学院(系) 信息学院专业计算机科学与技术班级计科 学生姓名学号实验地点钟海楼 04019 实验日期 2015年 10月26日 一、实验目的 (1)学习掌握Java中类怎样实现接口、接口回调技术; (2)学习掌握Java 程序中面向接口的编程思想。 二、实验任务 完成实验六指导上实验1、实验2、实验3的实验任务。 三、实验仪器设备和材料 安装有J2SE开发工具的PC机。 四、实验内容和步骤 实验1 代码如下: Estimator.java interface CompurerAverage{ public double average(double x[]); } class Gymnastics implements CompurerAverage{ public double average(double x[]){ int count=x.length; double aver=0,temp=0; for(int i=0;i

aver=aver+x[i]; } if(count>2) aver=aver/(count-2); else aver=0; return aver; } } class School implements CompurerAverage{ public double average(double[] x){ int count=x.length; double sum=0; for(int i=0;i

java实验1

Java开发环境(必写3.10) 一、实验目的 (1)熟悉J2SE开发工具的使用。 (2)学习编写简单的Java Application和Java Applet程序。 (3)了解Java源代码、字节码文件,掌握Java程序的编辑、编译和运行过程。 二、实验原理 (1)Java源文件是文本文件。 (2)javac.exe 用来将Java源程序编译为字节码。 (3)java.exe 用来运行Java Application (4)编写网页,嵌入Java Applet。用appletviewer.exe或浏览器来运行该网页。 三、实验步骤 (1)上机输入以下程序。 (2)保存程序。 (3)编译、运行程序,检查实验结果是否正确。 (4)上机结束后,整理实验报告。 四、实验内容 (1)在“我的电脑”上点右键/点“属性”/点“高级”/点“环境变量”/点“新建”(用户变量)/变量名填“Path”、变量值填“C:\j2sdk1.4.2_06\bin”(视J2SE SDK安装的位置和版本)。(2)打开记事本,输入教材p13例2-1。输入完成后保存到自己的目录中(例如d:\12001j)。注意保存时,保存类型要选“所有文件”。源文件名必须和类名严格一致。源文件后缀要用“.java”。 (3)与(2)类似,输入教材p18例2-3。 (4)点“开始/运行”,输入“cmd”。输入d:<回车>,输入cd d:\12001j<回车>。 (5)输入javac MyJavaApplication.java<回车>。如果没有任何提示,则编译成功,检查d:\12001j 目录下将生成文件MyJavaApplication.class。否则请检查输入的内容与教材是否一致。 (6)输入javac MyJavaApplet.java<回车> 检查工作如(5) (7)输入java MyJavaApplication<回车> 观察运行结果。 (8)用记事本输入教材p19例2-4的内容,也存在d:\12001j下,文件名任意,后缀为“.htm”或“.html”。 (8)输入appletviewer AppletInclude.html<回车>,观察运行结果。 (9)到资源管理其中,双击“d:\12001j\AppletInclude.html”,观察运行结果。

Java基础作业详解及答案

Java基础语句作业详解及答案 1.编写程序,用数组实现乘法小九九的存储和输出。【提示:采用多个一维数组。】 public class Multipation { public static void main(String[] args) { // TODO Auto-generated method stub int x[][]=new int[9][9]; for(int i=0;i<9;i++){ for(int j=0;j<9;j++){ if(i>=j){ int m=i+1; int n=j+1; x[i][j]=m*n; System.out.print(m+"*"+n+"="+x[i][j]); } } System.out.println(); } } }

2. 定义一个类Student,属性为学号、姓名和成绩;方法为增加记录SetRecord和得到记录GetRecord。SetRecord给出学号、姓名和成绩的赋值,GetRecord通过学号得到考生的成绩。public class Student { /** *@param args */ private int ID; private String name; private float score; public void SetRecord(int ID,String name,float score){ this.ID=ID; https://www.360docs.net/doc/4616413999.html,=name; this.score=score; } public float getRecord(int ID){ if(ID==this.ID) return this.score; else return -1; } public static void main(String[] args) { // TODO Auto-generated method stub Student s=new Student(); s.SetRecord(0,"alex",100); float Sco=s.getRecord(0); System.out.print(Sco); } }

实验5Java常用类(一)

实验5 Java类库和常用类(一) 一. 实验目的及实验环境 1理解类库的概念,掌握分析、应用类库中的类的方法。 2熟练掌握Math类的常用方法。熟悉Random类的常用方法。 3理解String类的特性,熟练掌握String类的常用方法。 4能用Date类创建对象,熟练掌握Date类的常用方法。 5熟练掌握SimpleDateFormat解析日期和设置日期输出格式。 6学会查阅Java API在线参考文档和离线文档的方法。 二. 实验内容 1 基本内容(实验前请及时熟悉如下相关内容) 1)练习使用Math类的常用方法。 2)应用String类编程练习。 3)编写程序应用Random类生成随机数。 4)练习使用Date类的常用方法。 5)查阅Java API在线参考文档和下载Java API离线文档。 示例1. 应用SimpleDateFormat类的程序示例如下,共同学们模仿参考。 import java.text.*; import java.util.Date; public class FormatDateTime { public static void main(String[] args) { SimpleDateFormat myFmt = new SimpleDateFormat("yyyy年MM月dd日 HH 时mm分ss秒"); SimpleDateFormat myFmt1 = new SimpleDateFormat("yy/MM/dd HH:mm"); SimpleDateFormat myFmt2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 等价于now.toLocaleString() SimpleDateFormat myFmt3 = new SimpleDateFormat("yyyy年MM月dd日 HH 时mm分ss秒 E "); SimpleDateFormat myFmt4 = new SimpleDateFormat("一年中的第 D 天一年中第w个星期一月中第W个星期在一天中k时 z时区"); Date now = new Date();//当前时间 System.out.println(myFmt.format(now)); System.out.println(myFmt1.format(now)); System.out.println(myFmt2.format(now)); System.out.println(myFmt3.format(now)); System.out.println(myFmt4.format(now)); System.out.println(now.toGMTString());//The method toGMTString() from the type Date is deprecated. System.out.println(now.toLocaleString()); System.out.println(now.toString()); } }

java实验题及答案

面向对象程序设计(Java)实验报告 实验四数组 指导教师:赵丹 姓名:刘坤(贵州民大)学号: 专业:信息管理与信息系统日期:2015-04-22 一、实验目的: 熟悉Java数组的创建、初始化、遍历、排序等操作。 二、实验内容: 1、将一个给定的整型数组转置输出, 例如:源数组,1 2 3 4 5 6 转置之后的数组,6 5 4 3 2 1。 2、现在有如下的一个数组: int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5} ; 要求将以上数组中值为0的项去掉,将不为0的值存入一个新的数组,生成的新数组为: int newArr[]={1,3,4,5,6,6,5,4,7,6,7,5} ; 3、现在给出两个数组: 数组a:“1,7,9,11,13,15,17,19”; 数组b:“2,4,6,8,10” 两个数组合并为数组c,按升序排列。 4、自己出一个和本章有关的有趣的题目,并编程解答。 三、实验步骤、分析与结论: 1、将一个给定的整型数组转置输出, 例如:源数组,1 2 3 4 5 6 转置之后的数组,6 5 4 3 2 1。 ①java程序如下: public class ArraySwap { public static void main(String[] args){ int oldArr[]=new int[]{1,2,3,4,5,6}; System.out.println("转置前的数组为:"); printArray(oldArr); //输出一维数组 int newArr[]=new int[oldArr.length]; for(int i=0;i

精选-java基础习题及答案

程序设计—基础篇习题 1.作图. 2. 输出101--500之间的所有奇数,奇数之和. 3. 输出100--200间不能被3整除的数. 4. 输入初值 ,输出100个不能被3整除的数. 5. 求S=1+(1+2)+(1+2+3)+...+(1+2+3+...+n)的值. 6. 设S=1*2*3*...*n,求S不大于400000时的最大n. 7. 设S=11*22*33*...*n n,求S不大于400000时的最大n. 8. 找出1~1000间的全部”同构数”.如果一个数出现在其平方数右端,则称此数为同构数,如1在12=1的右端,5在52=25的右端,25在252=625的右端等. 9. 百鸡问题。“鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?” 10.利用一维数组,统计一个班学生0-9,10-19,..90-99及100各分数段的人数.

11.插入法排序.排序方法: 设有10个数存放在数组A中,分别用A[1],A[2],..,A[10]表示. 先将A[1]与A[2]比较,若A[2]j) System.out.print(" "); else if(i<=j&&j-i<=7) System.out.print("*"); } System.out.println(); } } } (2) public class Ex1_2 { public static void main(String[] args){ for(int i=1;i<=5;i++) { for(int j=1;j<=16;j++) { if(i>j) System.out.print(" ");

实验四 Java知识

实验四java知识 本实验目的是练习如何创建Java 的基本语法,以及面向对象的知识,为后续的实验作好准备工作。 【课堂练习】一 (1)对数组排序 【实验效果】 根据实验要求,您必须在浏览器的地址栏中输入:Tomcat服务器的IP地址和端口号,如:http://localhost:8080/sort.jsp 【课堂练习】Java面向对象思想 课堂练习——包创建和引用 案例:新建Project项目,在该项目中创建aa.bb包,然后再引入java.util包中的Date类,并创建ShiJian类,练习包的创建和引用。 课堂练习——相同包之间的访问 案例:在已经建立Project项目中创建mr.bbb包,然后在该包中创建Test和ImpTest两个类,测试同包之间类的访问。 课堂练习——不同包中类之间的访问 案例:在已经建立Project项目中创建mr.aaa包和mr.zzk包,然后分别在包中创建Exam 和ImpExam两个类,测试不同包之间类的访问。 课堂练习——final变量 案例:在已经建立Project项目中创建mingri包,并在该包中创建T1类,在该类中定义一个final变量,然后再主方法中创建T1类的实例,并测试能否改变final变量的值。

课堂练习——final方法 案例:在已创建的项目Project的包mingri中创建T1类的之类ExT1,然后再ExT1类中测试是否能重写父类T1中的final方法。 课堂练习——继承性 案例:在项目的包aaa中创建A和B两个类,使类B是类A的子类,然后在子类B中创建B的实例,并通过该实例分别调用类A和类B的方法,掌握继承的原理。 课堂练习——抽象类 案例:在项目的包aaa中创建抽象类Example及其子类SubExample,在抽象类Example 中分别定义一个成员方法和一个抽象方法,并在子类中进行测试。 课堂练习——权限访问 案例:在项目的包aaa中创建类Exm,在该类中分别定义4种权限修饰符的成员变量并附初值,然后在主方法中创建类的实例,并分别输出这4个成员变量的值,测试上述4种权限修饰符的成员变量在当前类中的可见性。 案例:在项目的包aaa中创建类SameExm,也就是和前一个例子中创建的Exm类都放在同一个包aaa中,然后在SameExm类的主方法中创建类Exm的实例,并分别输出类Exm中4个成员变量的值,测试上述4种权限修饰符的成员变量在相同包的其他类中的可见性。

Java基础阶段复习题2(附答案)

复习题2 如有雷同,纯属巧合! 1.下列哪一种叙述是正确的() A. abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{ }包住 C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 2.下列说法正确的有() A. class中的constructor不可省略 B. constructor必须与class同名,但方法不能与class同名 C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 3.以下哪个表达式是不合法的() A、String x=”Hello”; int y=9; x+=y; B、String x=”Hello”; int y=9; if(x= =y) { } C、String x=”Hello”; int y=9; x=x+y; D、String x=null; int y=(x!=null)&&(x.length()>0) ? x.length() : 0 4.下列关于修饰符混用的说法,错误的是() A.abstract不能与final并列修饰同一个类 B.abstract类中不可以有private的成员 C.abstract方法必须在abstract类中 D.static方法中能处理非static的属性 5.()修饰符允许对类成员的访问不依赖于该类的任何对象 A、abstract B、static C、return D、public 6.关于被私有访问控制符private修饰的成员变量,以下说法正确的是() A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类 B.可以被两种类访问和引用:该类本身、该类的所有子类 C.只能被该类自身所访问和修改 D.只能被同一个包中的类访问

浙大JAVA实验题答案answer

实验8 Method的使用 1.程序填空题,不要改变与输入输出有关的语句。 50001 输入一个正整数repeat (0

JAVA实验1

重庆大学 学生实验报告 实验课程名称J2EE及JA V A程序设计 开课实验室DS1501 学院软件学院年级专业班 学生姓名学号 开课时间2013 至2014 学年第 2 学期 总成绩 教师签名 软件学院制

《J2EE及JA V A程序设计》实验报告 开课实验室:DS1501 2014 年5 月27 日学院软件学院年级、专业、班姓名成绩 课程名称J2EE及JA V A程序设 计 实验项目 名称 实验1: JAVA环境配置 实验2:JAVA程序设计基础 指导教师杨正益 教师 评语教师签名: 2014年月日 一、实验目的 实验一:基本掌握JDK的安装方法,能正确配置环境变量,能够编译运行一个简单的 Java程序,能够编译运行一个简单的Java小应用程序。 实验二:熟悉Java的基本语法规范目的:掌握Java程序的基本语法,掌握Java程序的简单输入输出语句,掌握数据类型及常量、变量等的用法,掌握各类运算符及其运算优先级,掌握并灵活使用结构化程序设计。 二、实验内容 实验一内容: 1 JDK的安装。 2 系统环境变量的设置方法以及path与classpath的设置。 3 一个简单Java程序Hello java的编写、编译与运行。 4 一个简单的Java小应用程序的编写、编译与运行。 实验二内容: 实验二内容: 1.(显示图案) 编写一个程序,显示下面的图案: J A V V A J A A V V A A J J AAAAA V V AAAAA J J A A V A A 2.(几何方面:三角形的面积) 编写程序,提示用户输入三角形的三个点(X1,Y1)、(X2,Y2)和(X3,Y3),然后显示它的面积。计算三角形面积的公式是: S = (side1+side2+side3)/2; Area = 下面是一个运行示例: Enter three points for a triangle:1.5 -3.4 4.6 5 9.5 -3.4 The area of the triangle is 33.6

相关文档
最新文档