Java程序实现从键盘输入并处理double数组

需积分: 35 5 下载量 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中处理用户输入的数值,并将其存储到数组中。这个代码片段对初学者理解输入输出操作非常有帮助,同时也是实际编程中常见的场景。