一、实验目的
1、熟悉IDEA集成开发环境。
2、掌握变量定义和运算符使用。
3、掌握条件、循环语句的使用,能分析循环的执行过程。
4、掌握数组的定义和使用。
二、实验环境
Windows,IDEA。
三、实验内容
1、利用级数求sin(x),直到最后一项的绝对值小于10-8为止,公式如下:sin(x) = x - x^3/3! + x^5/5! - x^7/7! + ...
2、猜颜色,程序随机产生一个红、黄、蓝三种颜色中的一种,让用户输入猜测的颜色,然后程序比较后,输出提示信息“猜错了”或“猜对了”。猜错了让用户继续输入,直到用户猜中为止。
四、完成情况
1.完成
2.完成
五、源代码
package com.ch;
import java.util.Scanner;
public class demo1 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入数字:");
Double x = scanner.nextDouble();
double term = x; // 初始化级数的第一项
double sum = term; // 初始化和
int i = 1;
//Math.abs返回参数的绝对值
while (Math.abs(term) >= 1e-8) { // 只要最后一项的绝对值大于10^-8,就继续
term *= -1 * x * x / ((2 * i) * (2 * i + 1)); // 计算下一项
sum += term; // 将新项添加到和中
i++;
}
System.out.println("sin(" + x + ") = " + sum); // 打印结果
}
}
2.
package com.ch;
import java.util.Random;
import java.util.Scanner;
public class demo1 {
public static void main(String[] args) {
String[] colors = {"红", "黄", "蓝"};
Random random = new Random();
String randomColor = colors[random.nextInt(colors.length)];
Scanner scanner = new Scanner(System.in);
String guess;
do {
System.out.print("猜测颜色是什么?(红/黄/蓝):");
guess = scanner.nextLine();
if (guess.equals(randomColor)) {
System.out.println("恭喜你,猜对了!");
} else {
System.out.println("猜错了,请继续猜测。");
}
} while (!guess.equals(randomColor));
}
}
六、程序运行结果截图
1.
2.
七、小结
知识掌握情况;存在的问题,如何解决
1. 在计算每一项时,可以利用前一项的结果来简化计算,以提高效率。为了提高精度,可以使用双精度浮点数等高精度计算方法。
2.问题1: 如何生成随机颜色?
解决方法: 可以使用编程语言提供的随机数生成函数,例如在Python中可以使用random模块的choice()函数来在红、黄、蓝三个颜色中随机选择一个。
问题2: 如何获取用户猜测的颜色?
解决方法: 可以使用input函数提示用户输入猜测的颜色。
问题3: 如何比较用户猜测的颜色和随机生成的颜色?
解决方法: 可以使用条件语句(如if-else语句)来判断用户猜测的颜色是否与随机生成的颜色相同。
问题4: 如何让用户继续输入直到猜中为止?
解决方法: 可以使用一个while循环来实现,当用户猜测的颜色与随机生成的颜色不相同时,继续提示用户输入,直到两者相同。
问题5: 如何输出猜测结果的提示信息?
解决方法: 可以使用print函数输出相应的提示信息,例如在猜对了时输出"猜对了",猜错了时输出"猜错了"。