1、实验目的
2、实验内容及要求
1、实验内容:
2、要求:
3、实验安排方式:
3、实验环境
4、程序核心代码和运行效果
5、实验小结
1、实验目的
掌握java开发环境的搭建、java应用程序的编写、运行;掌握java中顺序结构、选择结构和循环结构的程序设计方法。
2、实验内容及要求
1、实验内容:
(1)JDK的下载、环境变量的设置。
(2)编写并运行一个简单java程序。
(3)给定两个浮点数,输出它们的和,差,积。
(4)找出一个二维数组的鞍点,即该位置上的元素在该行上最大、在列上最小(也可能没有鞍点。)
(5)编写一个程序,要求将一个浮点数强制转化成整型后再输出。
(6)请计算出3至1000范围内最大的10个素数,放入数组中,并计算出其累加和。
(7)水仙花数是三位数,它的各位数字的立方和等于这个三位数本身,例如:371=33+73+13,371就是一个水仙花数。找出所有水仙花数.
2、要求:
能够上机编辑、调试出简单的java程序;
3、实验安排方式:
每组1人,独立完成上机实验;
3、实验环境
硬件环境:微型计算机一台。
软件环境:Window XP/7/8/10操作系统、Eclipse、JDK。
4、程序核心代码和运行效果
(2)编写并运行一个简单java程序
public class test1 {
public static void main(String[] args) {
System.out.println("Hello Word");
}
}
(3)给定两个浮点数,输出它们的和,差,积。
import java.util.Scanner; //导入使用的scaner包
public class Test {
public static void main(String[] args) {
double a, b; //定义变量a,b
Scanner sc = new Scanner(System.in); //定义键盘录入对象sc
a = sc.nextDouble(); //键盘录入a
b = sc.nextDouble(); //键盘录入b
System.out.printf("%.2f ", (a + b)); //格式化输出和差积
System.out.printf("%.2f ", (a - b));
System.out.printf("%.2f", (a * b));
}
}
(4)找出一个二维数组的鞍点,即该位置上的元素在该行上最大、在列上最小(也可能没有鞍点。)
public class test2 {
public static void main(String[] args) {
int s,min,max,count = 0;
int []a = new int[4];
int [][]array ={{1,2,4,3},{5,6,7,8},{9,5,6,8},{1,0,5,4}};
//遍历数组
for (int i = 0; i < 4; i++) {
for(int j = 0;j<4;j++){
System.out.print(array[i][j]+" ");
}
System.out.println();
}
for (int i = 0; i < 4; i++) { //遍历数组的行
max = array[i][0];
for (int j = 0; j < 4; j++) { //找每行的最大值
if (array[i][j] > max){
max = array[i][j];
}
}
s = 0;
for (int j = 0; j < 4; j++) { //将最大值所在的列存入a[]中
if (array[i][j] == max){
a[s] = j;
s++; //s的值是最大值的个数
}
}
min = max;
for (int j = 0; j < s; j++) { //有几个最大值,就进行几次循环
for (int k = 0; k < 4; k++) { //判断这个行的最大值是不是列最小
if(min > array[k][a[j]]) { //如果不是,则判断下一个
break;
}
if (k == 3){ //说明是鞍点
System.out.println("鞍点为第"+(i+1)+"行第"+(a[j] + 1)+"列的元素:"+array[i][a[j]]);
count++;
}
}
}
}
if(count == 0){
System.out.println("没有鞍点");
}
}
}
(5)编写一个程序,要求将一个浮点数强制转化成整型后再输出。
public class test3 {
public static void main(String[] args) {
double a = 55.69; //定义变量
System.out.println(a); //输出a
System.out.println((int)a); //输出强制类型转换后的变量a
}
}
(6)请计算出3至1000范围内最大的10个素数,放入数组中,并计算出其累加和。
public class test4 {
public static void main(String[] args) {
int[] arr = new int[10]; //定义动态数组
int count, sum; //定义变量count, sum
sum = count = 0; //赋初值
for (int i = 999; i >= 3; i--) { //逆序循环判断是否为素数,并得到较大数组
for (int j = 2; j < i; j++) {
if (i % j == 0)
break;
if (j == i - 1) { //将素数存入数组中
arr[count] = i;
count++;
}
}
if (count == 10) //得到10个最大素数
break;
}
for (int i = 0; i < arr.length; i++) { //循环变量数组求和
sum += arr[i];
}
System.out.print("3至1000范围内最大的10个素数为:"); //打印数组
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
System.out.println("3至1000范围内最大的10个素数的和为:" + sum);//打印数组和
}
}
(7)水仙花数是三位数,它的各位数字的立方和等于这个三位数本身,例如:371=33+73+13,371就是一个水仙花数。找出所有水仙花数.
public class test5 {
public static void main(String[] args) {
InNumber num = new InNumber();
System.out.print("水仙花数为:");
for (int i = 100; i < 1000; i++) {
num.InNum(i);
}
}
}
5、实验小结
通过此次实验的整理与学习,我在感觉java编程方面有了很大的进步,同时也更好的理解的面向对象的编程思路,懂得程序设计的可用性以及代码编写的规范性,并且拥有了更好的代码执行经验。
在标识符、变量、以及数据类型方面,通过学习,我了解到标识符明白必须规范,不能随便定义,当以下划线(_)、美元符号($)等此类符号定义时,方可通过java编译,否则则会运行报错,另外在定义变量时,int,double也要注意区分,虽然都能进行计算,但是其精度是不一样的!在java中一共有8中数据类型,分别是int,long,short,float,double,char,boolean,byte,除此之外,在创建多个变量时不能重名,并且一定在变量赋值之后才能用,同一条语句中可以定义多条变量。其次在对数组的使用时,有俩种方式定义数组,一种是直接new Object[int i]另外一种是直接在定义的数组后边写{}在里面赋值即可。