以下是我要在其中插入值的表格
+---+----+----+----+----+ . . . .
| | 20 | 30 | 40 | 50 | . . . .
+---+----+----+----+----+ . . . .
|100| 78 | 89 | 92 | 95 | . . . .
+---+----+----+----+----+ . . . .
|200| 62 | 76 | 88 | 91 | . . . .
+---+----+----+----+----+ . . . .
|300| 59 | 68 | 74 | 83 | . . . .
+---+----+----+----+----+ . . . .
|400| 48 | 50 | 65 | 72 | . . . .
+---+----+----+----+----+ . . . .
用户输入速度和温度值。
我知道如何从数学上做到这一点,但是把它带到Java上却令我很沮丧。
因此,如果用户输入的速度为200(没有250,则为200或300),温度为34(仅输入整数) 数学上我会这样做;
+---+----+----+----+----+ . . . .
| | | 30 | 34 | 40 | . . . .
+---+----+----+----+----+ . . . .
|200| | 76 | x | 88 | . . . .
+---+----+----+----+----+ . . . .
(76 - 88) /10 = 1.2
1.2 * (34-30) = 4.8
4.8 + 76 = 80.8 = x
我们应该得到80.8的答案
编辑我不是一个懒惰的人,他希望你们像某些人的想法一样为我完成所有工作。我不仅在这里发布我的问题,并期待一个完整的代码!正如我在上面提到的那样,我只想问有关如何解决此问题的任何想法。谢谢!
答案 0 :(得分:1)
使用2D数组存储表。使用Scanner
读取用户输入。根据输入计算行索引和列索引。从二维数组中获取相应的数字,然后进行计算。
int[][] table = {
{78,89,92,95},
{62,76,88,91},
{59,68,74,83},
{48,50,65,72}
};
Scanner scanner = new Scanner(System.in);
System.out.println("Enter speed:");
int speed = scanner.nextInt();
System.out.println("Enter temperature:");
int temp = scanner.nextInt();
int row = (speed / 100) - 1;
int col = (temp / 10) - 2;
float a = table[row][col];
float b = table[row][col + 1];
float result = a + (temp % 10) * (b - a) / 10;
System.out.println(result);