• 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程序

    1. public class test1 {
    2. public static void main(String[] args) {
    3. System.out.println("Hello Word");
    4. }
    5. }

    (3)给定两个浮点数,输出它们的和,差,积。

    1. import java.util.Scanner; //导入使用的scaner包
    2. public class Test {
    3. public static void main(String[] args) {
    4. double a, b; //定义变量a,b
    5. Scanner sc = new Scanner(System.in); //定义键盘录入对象sc
    6. a = sc.nextDouble(); //键盘录入a
    7. b = sc.nextDouble(); //键盘录入b
    8. System.out.printf("%.2f ", (a + b)); //格式化输出和差积
    9. System.out.printf("%.2f ", (a - b));
    10. System.out.printf("%.2f", (a * b));
    11. }
    12. }

    (4)找出一个二维数组的鞍点,即该位置上的元素在该行上最大、在列上最小(也可能没有鞍点。)

    1. public class test2 {
    2. public static void main(String[] args) {
    3. int s,min,max,count = 0;
    4. int []a = new int[4];
    5. int [][]array ={{1,2,4,3},{5,6,7,8},{9,5,6,8},{1,0,5,4}};
    6. //遍历数组
    7. for (int i = 0; i < 4; i++) {
    8. for(int j = 0;j<4;j++){
    9. System.out.print(array[i][j]+" ");
    10. }
    11. System.out.println();
    12. }
    13. for (int i = 0; i < 4; i++) { //遍历数组的行
    14. max = array[i][0];
    15. for (int j = 0; j < 4; j++) { //找每行的最大值
    16. if (array[i][j] > max){
    17. max = array[i][j];
    18. }
    19. }
    20. s = 0;
    21. for (int j = 0; j < 4; j++) { //将最大值所在的列存入a[]中
    22. if (array[i][j] == max){
    23. a[s] = j;
    24. s++; //s的值是最大值的个数
    25. }
    26. }
    27. min = max;
    28. for (int j = 0; j < s; j++) { //有几个最大值,就进行几次循环
    29. for (int k = 0; k < 4; k++) { //判断这个行的最大值是不是列最小
    30. if(min > array[k][a[j]]) { //如果不是,则判断下一个
    31. break;
    32. }
    33. if (k == 3){ //说明是鞍点
    34. System.out.println("鞍点为第"+(i+1)+"行第"+(a[j] + 1)+"列的元素:"+array[i][a[j]]);
    35. count++;
    36. }
    37. }
    38. }
    39. }
    40. if(count == 0){
    41. System.out.println("没有鞍点");
    42. }
    43. }
    44. }

    (5)编写一个程序,要求将一个浮点数强制转化成整型后再输出。

    1. public class test3 {
    2. public static void main(String[] args) {
    3. double a = 55.69; //定义变量
    4. System.out.println(a); //输出a
    5. System.out.println((int)a); //输出强制类型转换后的变量a
    6. }
    7. }

    (6)请计算出3至1000范围内最大的10个素数,放入数组中,并计算出其累加和。

    1. public class test4 {
    2. public static void main(String[] args) {
    3. int[] arr = new int[10]; //定义动态数组
    4. int count, sum; //定义变量count, sum
    5. sum = count = 0; //赋初值
    6. for (int i = 999; i >= 3; i--) { //逆序循环判断是否为素数,并得到较大数组
    7. for (int j = 2; j < i; j++) {
    8. if (i % j == 0)
    9. break;
    10. if (j == i - 1) { //将素数存入数组中
    11. arr[count] = i;
    12. count++;
    13. }
    14. }
    15. if (count == 10) //得到10个最大素数
    16. break;
    17. }
    18. for (int i = 0; i < arr.length; i++) { //循环变量数组求和
    19. sum += arr[i];
    20. }
    21. System.out.print("3至1000范围内最大的10个素数为:"); //打印数组
    22. for (int i = 0; i < arr.length; i++) {
    23. System.out.print(arr[i] + " ");
    24. }
    25. System.out.println();
    26. System.out.println("3至1000范围内最大的10个素数的和为:" + sum);//打印数组和
    27. }
    28. }

    (7)水仙花数是三位数,它的各位数字的立方和等于这个三位数本身,例如:371=33+73+13,371就是一个水仙花数。找出所有水仙花数.

    1. public class test5 {
    2. public static void main(String[] args) {
    3. InNumber num = new InNumber();
    4. System.out.print("水仙花数为:");
    5. for (int i = 100; i < 1000; i++) {
    6. num.InNum(i);
    7. }
    8. }
    9. }

    5、实验小结

            通过此次实验的整理与学习,我在感觉java编程方面有了很大的进步,同时也更好的理解的面向对象的编程思路,懂得程序设计的可用性以及代码编写的规范性,并且拥有了更好的代码执行经验。

            在标识符、变量、以及数据类型方面,通过学习,我了解到标识符明白必须规范,不能随便定义,当以下划线(_)、美元符号($)等此类符号定义时,方可通过java编译,否则则会运行报错,另外在定义变量时,int,double也要注意区分,虽然都能进行计算,但是其精度是不一样的!在java中一共有8中数据类型,分别是int,long,short,float,double,char,boolean,byte,除此之外,在创建多个变量时不能重名,并且一定在变量赋值之后才能用,同一条语句中可以定义多条变量。其次在对数组的使用时,有俩种方式定义数组,一种是直接new Object[int i]另外一种是直接在定义的数组后边写{}在里面赋值即可。

  • 相关阅读:
    原论文一比一复现 | RT-DETR更换华为最新主干网络【VanillaNet-5】【VanillaNet-6】【VanillaNet-9】【VanillaNet-12】【VanillaNet-13】
    linux系统中安装python到指定目录
    ReentrantLock 实现原理
    权限控制、Spring Security入门
    2023 ICCV和 CVPR论文集合
    java面试题(17):链表两数相加
    YOLO模型评价指标
    【仿牛客网笔记】 Kafka,构建TB级异步消息系统——发送系统通知、显示系统通知
    「深入探究Web页面生命周期:DOMContentLoaded、load、beforeunload和unload事件」
    编译工具:CMake(七) | cmake 常用变量和常用环境变量
  • 原文地址:https://blog.csdn.net/qq_61228493/article/details/127441975