《数据结构与面向对象程序设计》实验二实验报告20202309葛鹏宇

2021/9/29 17:40:49

本文主要是介绍《数据结构与面向对象程序设计》实验二实验报告20202309葛鹏宇,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 # 学号20202309  2021-2022-1 《数据结构与面向对象程序设计》实验2报告

课程:《程序设计与数据结构》
班级: 2023
姓名: 葛鹏宇
学号:20202309
实验教师:王志强
实验日期:2021年9月23日
必修/选修: 必修

## 1.实验内容
(1) 编写简单的计算器,完成加减乘除模运算。
(2) 要求从键盘输入两个数,使用判定语句选择一种操作,计算结果后输出,然后使用判定和循环语句选择继续计算还是退出。
(3) 编写测试代码,测试验证。

## 2. 实验过程及结果

实验代码如下:
import java.util.Scanner;

public class FIRST {
    public static void main(String[] args) {
        float a, b;
        float result = 0;
        String sym,judge;
        do {
            Scanner scan = new Scanner(System.in);
            System.out.print("please enter the first number:");
            a = scan.nextFloat();
            sym = scan.nextLine();
            System.out.print("please enter the operation symbol:");
            sym = scan.nextLine();
            System.out.print("please enter the second number:");
            b = scan.nextFloat();
            switch (sym) {
                case "+":
                    result = a + b;
                    break;
                case "-":
                    result = a - b;
                    break;
                case "*":
                case "x":
                case "X":
                    result = a * b;
                    break;
                case "/":
                    if (b == 0) {
                        System.out.println("error");
                        break;
                    } else {
                        result = a / b;
                        break;
                    }
                default:
                    System.out.println("error");
            }
            System.out.println("the answer is " + result);
            System.out.println("Go on? Please enter 'Y'or'N'");
            judge=scan.nextLine();
            judge=scan.nextLine();
        }
        while(judge.equals("y")||judge.equals("Y"));
    }
}

可以实现加减乘除的运算,可以主动结束运行或重新输入数据运算。

经过数据测试,代码运行无误:

 

 

 


## 3. 实验过程中遇到的问题和解决过程
- 问题1:

 

第二步输入运算符号时跳过

 - 问题1解决方案:直接跳过一个输入步骤,我根据以往经验判断是之前的第一个输入影响了第二个,可能是存在缓冲区的回车被接收,我就在第二次正式输入前先加上了一次输入,提走回车的命令,再进行正式的输入覆盖回车,解除影响。最后判断是否重新开始运算时也就考虑到这个方面的问题。


## 其他(感悟、思考等)
在编写代码时,需要考虑到一些背后的方面,可能在屏幕上看不到,但却要在脑子中清楚自己的代码的方方面面。这个程序功能方面还是较为简单,我还需要再深入的地学习Java的各种程序作用让这个计算器代码能完成更加多样的功能。

## 参考资料

-  [《Java程序设计与数据结构教程(第4版)》]



这篇关于《数据结构与面向对象程序设计》实验二实验报告20202309葛鹏宇的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程