Java实验报告(一)

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]另外一种是直接在定义的数组后边写{}在里面赋值即可。

  • 7
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

追上

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值