Java程序实现从键盘输入并处理double数组
需积分: 35 138 浏览量
更新于2024-08-26
1
收藏 759B TXT 举报
"Java编程实践中,从键盘接收用户输入并存储到数组的示例代码"
在Java编程中,从键盘获取用户输入是一项基础且重要的任务。在这个例子中,我们看到如何在Eclipse环境下,通过`Scanner`类从键盘读取一系列的数字,并将它们存储到一个double类型的数组中。下面是对这段代码的详细解析:
首先,我们需要导入`java.util.Scanner`包,这是Java标准库中的一个类,用于从各种数据源(如控制台、文件)获取输入。
```java
import java.util.Scanner;
```
接下来定义了一个名为`Array_Input_practice`的公共类,这个类包含了一个`main`方法,这是所有Java程序的入口点。在这个例子中,我们创建了一个长度为5的double数组`a[]`,用于存储用户输入的数值。
```java
public class Array_Input_practice {
public static void main(String[] args) {
int n = 5; // 数组长度
double a[] = new double[n]; // 储存的double数组
```
然后,我们实例化了`Scanner`对象`input`,它会从标准输入(通常是键盘)读取数据。
```java
Scanner input = new Scanner(System.in); // 开始输入
```
在for循环中,我们遍历数组的每个元素,从键盘获取用户输入的数字字符串。这里用到了一个技巧,即通过`next()`方法获取一个单词(空格分隔的字符),并将它存储到字符串`str`中。
```java
for (int i = 0; i < n; i++) {
String str = "";
str += input.next();
```
由于`next()`方法只能获取单个单词,所以我们需要将输入的数字字符串转换为double类型。这里通过遍历字符串的每个字符,计算其对应的数值,最后累加到`temp`变量中。这个过程涉及到字符到数字的转换,以及指数计算,以正确处理浮点数。
```java
double temp = 0;
for (int j = str.length(); j > 0; j--) {
double x = str.charAt(j - 1) - 48; // 将字符转换为0-9之间的数字
double y = Math.pow(10, str.length() - j); // 计算指数
double t = x * y; // 乘以指数得到当前位的值
temp += t; // 累加到总值
}
a[i] = temp; // 将计算后的值存入数组
}
```
完成输入后,我们使用另一个for循环打印出数组的所有元素,以便验证输入是否正确。
```java
input.close(); // 输入结束
for (int k = 0; k < n; k++) {
System.out.println(a[k]);
}
```
最后,关闭`Scanner`对象以释放系统资源。整个程序的流程就是这样,它展示了如何在Java中处理用户输入的数值,并将其存储到数组中。这个代码片段对初学者理解输入输出操作非常有帮助,同时也是实际编程中常见的场景。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2023-05-25 上传
2023-05-25 上传
2024-09-20 上传
2023-03-31 上传
2017-10-07 上传
2023-06-07 上传