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

实验1 Java语言基础 4 、实验目的 4 二、实验要求 4 三、实验内容 4 () 声明不同数据类型的变量 4 (二) 了解变量的使用范围 5 (三) 使用关系运算符和逻辑运算符 5 (四) 使用表达式语句与复合语句 6 (五) 使用选择语句 6 (六) 使用循环语句 8 实验2 面向对象编程 11 、实验目的 11 二、实验要求 11 三、实验内容 11 ()创建 Applet 应用小程序 11 (二)创建对象并使用对象 12 (三)编写显示当前日期和时间的程序 13 (四)使用修饰符 14 (五)方法中参数传递 15 (六)类的继承性 16 (七)类的多态性 18 实验3 包、接口与异常处理 22 、实验目的 22 二、实验要求 22 三、实验内容 22 ()了解并使用 Java 的系统包 22 (二)创建并使用自定义包 22 (三)使用接口技术 24 (四)了解异常处理机制 25 实验4 常用系统类的使用 27 、实验目的 27 二、实验要求 27 三、实验内容 27 ()了解 Applet 的生命周期 27 (二)使用数学函数类 28 (三)使用日期类 29 实验5 建立图形用户界面 32 、实验目的 32 二、实验要求 32 三、实验内容 32 ()创建图形用户界面 32 (二)了解事件处理机制 34 (三)建立独立运行的窗口界面并使用匿名类 36 (四)使用 Swing 组件 39 (五)使用自定义对话框与内部类 41 实验6 图形处理 44 、实验目的 44 二、实验要求 44 三、实验内容 44 ()使用图形类 Graphics 44 实验7图形处理(二) 47 、实验目的 47 二、实验要求 47 三、实验内容 47 ()幻灯机效果——连续显示多幅图像 47 (二)使用滚动条改变背景颜色 48 (三)Applet 与 Application 合并运行 49 (四)创建电闪雷鸣的动画 50 实验8 流与文件 53 、实验目的 53 二、实验要求 53 三、实验内容 53 ()使用标准数据流的应用程序 53 (二)使用文件输入输出流的应用程序 54 (三)使用随机文件类的应用程序 54 (四)使用数据输入输出流与文件输入输出流类的应用程序 55 (五)使用对象输入输出流的应用程序 56 实验9 线程 58 、实验目的 58 二、实验要求 58 三、实验内容 58 ()Thread子类的方法实现多线程 58 (二)实现Runnable接口的方法实现多线程 59 实验10 数据库的连接:JDBC 61 、实验目的 61 二、实验要求 61 三、实验内容 61 ()配置ODBC数据源 61 (二)编写程序,按照下表的结构建立"student"表 61 (三)编写程序,完成填写功能 62 (四)编写程序,完成查询功能 62
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

追上

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

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

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

打赏作者

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

抵扣说明:

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

余额充值