栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

实验一 Java编程基础

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

实验一 Java编程基础

实验一 Java编程基础
姓名: xxx    班级: xxxxxxx    学号: xxxxxxxxxxx
一、实验目的

在集成开发环境下,依照Java语言的基本语法编译和执行简单Java的程序,通过本次实践环节理解java程序的运行机制,掌握 java 语言的基本结构和程序设计方法。

二、实验目标

(1)能够运用集成开发工具开发简单的Java程序,理解java语言的语法规则;
(2)能够利用Java语言解决实际问题,进一步熟悉和掌握java语言的程序设计的方法。

三、实验内容 3.1 实验环境
  `IntelliJ IDEA Community Edition 2021.1 x64 + openjdk-16.0.1`
3.2 实验内容
  • 小明带了20元来商店买一本书,剩余的钱还可以买哪种商品?可以购买几件?剩余多少钱?
商品价格表
商品名称
价格
牛奶
5元
10元
橡皮
1元
尺子
2元
  • 利用switch语句将学生成绩分为优秀(90-100分)、良好(80-89)、中(70-79),及格(60-69)和不及格(<60)。
  • 定义一个计算器类,该类中包含加、减、乘、除4个静态方法,并定义一个测试类,调用对应的方法进行四则运算。
  • 打印100-999以内的水仙花数(水仙花数即每个位数上数字的3次幂之和等于数字它本身,如153=1*1*1+5*5*5+3*3*3)。
  • 在类中定义一个静态方法printStar打印一颗树,该方法没有返回值,需要一个整形参数number定义树的高度,在主方法中调用这个方法,number值为5和10时得到下图的结果。
四、实验过程分析 4.1 实验步骤
  • 1.小明带了20元来商店买一本书,剩余的钱还可以买哪种商品?可以购买几件?剩余多少钱?

实验代码

public class experimentOne {
    public static void main(String[] args) {
        int money = 20 -10;
        int count = 0;
        for (int i = 0; i <= money/1; i++) {
            for (int j = 0; j <= money / 2; j++) {
                for (int k = 0; k <= money / 5; k++) {
                    for (int g = 0; g <= money / 10; g++) {
                        int sum = i * 1 + j * 2 + k * 5 + g * 10;
                        if (sum <= money) {
                            System.out.printf("方案%2d,买橡皮%2d个、买尺子%2d把、买牛奶%2d瓶、买书%2d本,剩余%2d元n", ++count, i, j, k, g, money - sum);
                        } else break;
                    }
                }
            }
        }
        System.out.printf("总共%d种方案.n", count);
    }
}

结果输出

C:Usersa.jdksopenjdk-16.0.1binjava.exe "-javaagent:C:Program FilesJetBrainsIntelliJ IDEA Community Edition 2021.1libidea_rt.jar=64278:C:Program FilesJetBrainsIntelliJ IDEA Community Edition 2021.1bin" -Dfile.encoding=UTF-8 -classpath "C:UsersadocumentsTencent Files2806428415FileRecvMobileFilelessionoutproductionlession" experimentOne
方案 1,买橡皮 0个、买尺子 0把、买牛奶 0瓶、买书 0本,剩余10元
方案 2,买橡皮 0个、买尺子 0把、买牛奶 0瓶、买书 1本,剩余 0元
						… …
方案49,买橡皮 9个、买尺子 0把、买牛奶 0瓶、买书 0本,剩余 1元
方案50,买橡皮10个、买尺子 0把、买牛奶 0瓶、买书 0本,剩余 0元
总共50种方案.

Process finished with exit code 0
  • 2.利用switch语句将学生成绩分为优秀(90-100分)、良好(80-89)、中(70-79),及格(60-69)和不及格(<60)。

实验代码

import java.util.Scanner;

public class experimentTwo {
    public static void main(String[] args) {
        Scanner cin = new Scanner(System.in);
        int score = cin.nextInt();
        score /= 10;
        if (score > 10 || score < 0)
            return;
        switch (score) {
            case 10:
            case 9:
                System.out.println("优秀");
                break;
            case 8:
                System.out.println("良好");
                break;
            case 7:
                System.out.println("中");
                break;
            case 6:
                System.out.println("及格");
                break;
            default:
                System.out.println("不及格");
                break;
        }
    }
}

结果输出

C:Usersa.jdksopenjdk-16.0.1binjava.exe "-javaagent:C:Program FilesJetBrainsIntelliJ IDEA Community Edition 2021.1libidea_rt.jar=59140:C:Program FilesJetBrainsIntelliJ IDEA Community Edition 2021.1bin" -Dfile.encoding=UTF-8 -classpath "C:UsersadocumentsTencent Files2806428415FileRecvMobileFilelessionoutproductionlession" experimentTwo
60
及格

Process finished with exit code 0

C:Usersa.jdksopenjdk-16.0.1binjava.exe "-javaagent:C:Program FilesJetBrainsIntelliJ IDEA Community Edition 2021.1libidea_rt.jar=62215:C:Program FilesJetBrainsIntelliJ IDEA Community Edition 2021.1bin" -Dfile.encoding=UTF-8 -classpath "C:UsersadocumentsTencent Files2806428415FileRecvMobileFilelessionoutproductionlession" experimentTwo
75
中

Process finished with exit code 0

  • 3.定义一个计算器类,该类中包含加、减、乘、除4个静态方法,并定义一个测试类,调用对应的方法进行四则运算。

实验代码

import java.util.Scanner;

class Calculator {
    public Calculator() { }

    public static int add(int n, int m) {return n + m;}

    public static int sub(int n, int m) {return n - m;}

    public static int mult(int n, int m) {return n * m;}

    public static int div(int n, int m) {
        try { return n / m; } 
        catch (ArithmeticException e) {
            System.out.println("/ by zero.");
            return 0;
        }
    }
}

class test {
    public static void testCa() {
        Calculator cA = new Calculator();
        Scanner cin = new Scanner(System.in);
        int n = cin.nextInt();
        int m = cin.nextInt();
        System.out.println("add:"+cA.add(n, m));
        System.out.println("mult:"+cA.mult(n, m));
        System.out.println("sub:"+cA.sub(n, m));
        System.out.println("div:"+cA.div(n, m));
    }
}

public class experimentThree {
    public static void main(String[] args) { test.testCa(); }
}

结果输出

C:Usersa.jdksopenjdk-16.0.1binjava.exe "-javaagent:C:Program FilesJetBrainsIntelliJ IDEA Community Edition 2021.1libidea_rt.jar=55362:C:Program FilesJetBrainsIntelliJ IDEA Community Edition 2021.1bin" -Dfile.encoding=UTF-8 -classpath "C:UsersadocumentsTencent Files2806428415FileRecvMobileFilelessionoutproductionlession" experimentThree
15 20
add:35
mult:300
sub:-5
div:0

Process finished with exit code 0

C:Usersa.jdksopenjdk-16.0.1binjava.exe "-javaagent:C:Program FilesJetBrainsIntelliJ IDEA Community Edition 2021.1libidea_rt.jar=61776:C:Program FilesJetBrainsIntelliJ IDEA Community Edition 2021.1bin" -Dfile.encoding=UTF-8 -classpath "C:UsersadocumentsTencent Files2806428415FileRecvMobileFilelessionoutproductionlession" experimentThree
15 0
add:15
mult:0
sub:15
/ by zero.
div:0

Process finished with exit code 0
  • 4.打印100-999以内的水仙花数(水仙花数即每个位数上数字的3次幂之和等于数字它本身,如153=1*1*1+5*5*5+3*3*3)。

实验代码

public class experimentFour {
    public static void main(String[] args) {
        for (int i = 100; i <= 999; i++) {
            if (flower.isFlower(i))
                System.out.println(i);
        }
    }
}

class flower {
    public flower() {}

    public static boolean isFlower(int n) {
        int sum = 0;
        int N = n;
        while (N > 0) {
            int temp = N % 10;
            sum = sum + temp * temp * temp;
            N /= 10;
        }
        return sum == n;
    }
}

结果输出

C:Usersa.jdksopenjdk-16.0.1binjava.exe "-javaagent:C:Program FilesJetBrainsIntelliJ IDEA Community Edition 2021.1libidea_rt.jar=60409:C:Program FilesJetBrainsIntelliJ IDEA Community Edition 2021.1bin" -Dfile.encoding=UTF-8 -classpath "C:UsersadocumentsTencent Files2806428415FileRecvMobileFilelessionoutproductionlession" experimentFour
153
370
371
407

Process finished with exit code 0
  • 5.在类中定义一个静态方法printStar打印一颗树,该方法没有返回值,需要一个整形参数number定义树的高度,在主方法中调用这个方法,number值为5和10时得到下图的结果。
import java.util.Scanner;

public class experimentFive {
    public static void main(String[] args) {
        Scanner cin = new Scanner(System.in);
        int number = cin.nextInt();
        experimentFive_test.printStar(number);
    }
}

class experimentFive_test {
    public experimentFive_test() {}

    public static void printStar(int number) {
        for (int i = 1; i <= number; i++) {
            for (int j = 1; j <= number - i; j++) {
                System.out.print(' ');
            }
            for (int j = 1; j <= i * 2 - 1; j++) {
                System.out.print('*');
            }
            System.out.println();
        }
    }
}

结果输出

C:Usersa.jdksopenjdk-16.0.1binjava.exe "-javaagent:C:Program FilesJetBrainsIntelliJ IDEA Community Edition 2021.1libidea_rt.jar=50731:C:Program FilesJetBrainsIntelliJ IDEA Community Edition 2021.1bin" -Dfile.encoding=UTF-8 -classpath "C:UsersadocumentsTencent Files2806428415FileRecvMobileFilelessionoutproductionlession" experimentFive
5
    *
   ***
  *****
 *******
*********

Process finished with exit code 0

C:Usersa.jdksopenjdk-16.0.1binjava.exe "-javaagent:C:Program FilesJetBrainsIntelliJ IDEA Community Edition 2021.1libidea_rt.jar=50737:C:Program FilesJetBrainsIntelliJ IDEA Community Edition 2021.1bin" -Dfile.encoding=UTF-8 -classpath "C:UsersadocumentsTencent Files2806428415FileRecvMobileFilelessionoutproductionlession" experimentFive
10
         *
        ***
       *****
      *******
     *********
    ***********
   *************
  ***************
 *****************
*******************

Process finished with exit code 0
4.2 错误分析

错误情况

  • 在计算器实验时在除法计算时未考虑到除数为0的情况。导致在进行除法运算时发生异常。

解决方案

//将
    public static int div(int n, int m) {return n / m;}
//替换为
    public static int div(int n, int m) {
        try {
            return n / m;
        } catch (ArithmeticException e) {
            System.out.println("/ by zero.");
            return 0;
        }
    }
五、个人总结

  在问题发生时应该多思考并与同学进行交流以获得帮助,并及时解决问题,借助强大的互联网知识平台能够有效的获得更多知识。熟悉以及掌握配置ide及实验环境十分必要,能够在编程时解决大量技术性错误。基础性知识的学习能为我们的编程思想提供极大的有效助力,基础知识的欠缺也是我目前遇到的最重大的问题,在课下的自我学习十分重要,在以后的学习生活中一定会努力加强相关知识的学习。十分感谢在遇到困难时同学们的热心帮助,他们为我提供了精神以及学习方面的极大帮助。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/325580.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号