当前位置:文档之家› 实验2基本数据类型与数组(最新整理)

实验2基本数据类型与数组(最新整理)

}
第2页共7页
民族学院实验报告单
2. 实验后练习 (1) 程序运行时,用户从键盘输入 2332,程序提示怎样的信息? 答 提示信息如图
(2) 程序运行时,用户从键盘输入 abc,程序提示怎样的信息? 答 :提示信息如图
三、数组的快速复制 1. 请查询 Java API 中 System 类中的静态方法 arraycopy()的使用方法,并编写
一个程序。要求: 建立一个一维整型数组,用于存放本班学生的 Java 成绩。该数组的元素 值为 60-100 的随机值,每行显示 10 个元素值; 调用 arraycopy()方法进行复制,并显示其值; 修改复制前的数组,并显示其值; 再显示复制的数组,并显示其值
第3页共7页
民族学院实验报告单
计算机科学 系 报告人
民族学院实验报告单
民族学院实验报告


20 年 月 日
指导教师 成绩
课程
名称 JAVA 语言程序设计 实验名称
实验二 基本数据类型与数组
实验 目的 实验仪器 和器材
1. 掌握基本数据类型及其相互之间的转换 2. 掌握 JAVA 中数组的使用
具有 JDK 环境的计算机一台
一、输出希腊字母表 1. 请按模板要求,将【代码】替换为 Java 程序代码,运行该程序时在命令窗
民族学院实验报告单
System.out.printf(" b 数组:\n"); Arrays.sort(a); for(i=0;i<24;i++){
System.out.printf("%5d",a[i]); if((i+1)%10==0){ System.out.printf("\n"); }s
(4)在应用程序的 main 方法中增加语句: int z=(byte)128;
程序输出的 z 值是多少? 答:输出的是-128;
二、从键盘输入数据 1. 编写一个 Java 程序,用户从键盘输入一个浮点数据,程序将输出这个数的平
方和三次方。 import java.util.*;
public class A{ public static void main(String args[]){ Scanner reader=new Scanner(System.in); double a=reader.nextDouble(); double b,c; b=a*a; c=b*a; System.out.printf("%f\n",b); System.out.printf("%f\n",c); }
System.arraycopy(a,0,b,0,24);
System.out.printf(" b 数组:\n");
for(int j=0;j<24;j++){
System.out.printf("%5d",b[j]); if((j+1)%10==0){
System.out.printf("\n"); } } a=b; System.out.printf(" b2 数组:\n"); for(int j=0;j<24;j++){
错误?
答:程序提示的内容为:“可能损失精度”。
(2)在应用程序的 main 方法中增加语句:
第1页共7页
民族学院实验报告单
float x=0.618;
程序能编译通过吗? 答:不能。因为可能损失精度。
(3)在应用程序的 main 方法中增加语句: byte y=128;
程序能编译通过吗? 答:不能。如下图,可能会损失精度
//i 做 char 型转换运算,并将结果赋值给 c
System.out.print(" "+c);
if ((i-startPosition+1)%10==0)
System.out.println();
}
}
}
2. 实验后练习
(1) 将一个 double 型数据直接赋值给 float 型变量,程序编译时提示怎样的
for( i=0;i<24;i++){
实验
grest=60+(int)(Math.random()*41);
结果
a[i]=grest;
System.out.printf("%5d",a[i]);
if((i+1)%10==0){
System.out.printf("\n");
}
ห้องสมุดไป่ตู้
}
System.out.printf("\n");
System.out.println("希腊字母\'α\'在 Unicode 表中的顺序位置:"+(int)cStart);
System.out.println("希腊字母表:");
for (int i=startPosition;i<=endPosition;i++){
char c='\0';
cStart=(char)i;
第4页共7页
一、
民族学院实验报告单
三 程序如下:
public class Arraycopy{
public static void main(String atgs[]){
int[] a=new int[24];
int[] b=new int[24];
int i;
int grest=0;
System.out.printf(" a 数组:\n");
2. 实验后练习 (1) 比较程序中源数组修改前后的值以及对复制的数组的影响; (2) 比较数组 a = b 与 arraycopy()的异同。 四、数组的排序 1. 请查询 Java API 中 Arrays 类中的静态方法 sort()的使用方法,并编写一个 程序。要求
对上述生成的保存学生成绩的数组进行排序; 显示排序后的数组。 2. 实验后练习 (1) 了解 Arrays 类中的其它静态方法; (2) 练习你所感兴趣的方法。
四 程序如下: import java.util.Arrays; public class Arraysort{
public static void main(String atgs[]){ int[] a=new int[24];
int[] b=new int[24]; int i; int grest=0; System.out.printf(" a 数组:\n"); for( i=0;i<24;i++){
} } } 2 给数组赋值用 fill 方法;数组排序用 sort 方法;用 binarySearch 方法可以对 数组进行二分查找。
第7页共7页
第5页共7页
民族学院实验报告单
System.out.printf("%5d",b[j]); if((j+1)%10==0){
System.out.printf("\n"); } } } }
答:(1)值随这原数组的值变化; (2)都是赋值的作用;a=b 是直接赋值,而 arraycopy()是通过函数赋值。
char cStart='α',cEnd='ω';
startPosition=(int)cStart; //cStart 做 int 型数据转换,并将结果赋值给 startPosition
endPosition=(int)cEnd; //cEnd 做 int 型数据转换,并将结果赋值给 EndPosition
grest=60+(int)(Math.random()*41); a[i]=grest; System.out.printf("%5d",a[i]); if((i+1)%10==0){ System.out.printf("\n"); } } System.out.printf("\n");
第6页共7页
口中输出希腊字母表。其运行效果如图 2.1 所示。
实验内容 和要求
图 2.1 输出希腊字母表
GreekAlphabet.java
public class GreekAlphabet {
public static void main(String[] args) {
int startPosition=0,endPosition=0;
相关主题