键盘输入10个数,放到数组中去除该数组中大于10的数,将该数组中的数字写入到本地文件
参考了一下其他的文章:
下面是我自己写的代码:
/* 3.键盘输入10个数,放到数组中 (1)去除该数组中大于10的数 (2)将该数组中的数字写入到本地文件number.txt中 解题思路: 1,接收数组 写一个函数 2,去除数组中的大于 10的数 写一个函数 3,将数组写入number.txt中 写一个函数 */ package HomeWork3; import java.io.FileWriter; import java.io.IOException; import java.util.Scanner; public class Number_Array { public static void main(String[] args) { double[] doubleArr = new double[10]; acceptArr(doubleArr); double[] newDoubleArr = removeNumber(doubleArr); writeNumber(newDoubleArr); } /* * 将数组中的数组写到本地文件 number.txt中 writeNumber函数 */ public static void writeNumber(double[] doubleArr) { // 将数组中的元素写入到 number.txt 文件中 FileWriter fw = null; try { fw = new FileWriter("h:\number.txt"); for (int i = 0; i < doubleArr.length; i++) { fw.write(doubleArr[i] + "-");// 将double转换成String } } catch (IOException ex) { System.out.println(ex); throw new RuntimeException("文件写入失败!"); } finally { try { if (fw != null) fw.close(); } catch (IOException ex) { System.out.println(ex); throw new RuntimeException("释放资源失败!"); } } } /* * 去除数组中的大于10的数,写一个函数removeNumber 删除数组元素,写一个函数delete */ public static double[] removeNumber(double[] doubleArr) { // 遍历数组,对小于 10 的数组中的元素,删除,最后输出一下删除了相应元素的数组 int count = 0;// 统计数组中大于10的元素 for (int i = 0; i < doubleArr.length; i++) { if (doubleArr[i] > 10) count++; } // 创建一个数组,将上面数组中小于10的数组添加进来 double[] newDoubleArr = new double[doubleArr.length - count]; // for循环中的 j=0;是为了newDoubleArr中的数组下标 for (int i = 0, j = 0; i < doubleArr.length; i++) { if (doubleArr[i] < 10) // 如果数组中的元素小于10,那么就添加进数组newDoubleArr中,等价于删除大于10的数组元素 // 如果数组元素小于10,那么newDoubleArr数组下标就 +1 newDoubleArr[j++] = doubleArr[i]; } System.out.println("删除后的数组元素为:"); for (double d : newDoubleArr) { System.out.print(d + " "); } // 返回删除后的数组,在主函数中接收一下,能够传送一下删除后的数组 return newDoubleArr; } /* * 接收数组,写一个函数 */ public static void acceptArr(double[] doubleArr) { // 键盘接收 10个数,double类型,最后输出一下接收的数组 System.out.println("请输入任意10个数:"); Scanner sc = new Scanner(System.in); for (int i = 0; i < 10; i++) { doubleArr[i] = sc.nextDouble(); } sc.close(); System.out.println("接收的数组元素为:"); for (int i = 0; i < doubleArr.length; i++) { System.out.print(doubleArr[i] + " "); } } }
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: 习题9.3
- 下一篇: C#小练习(设计一个程序,输入10个数存入数组中,然后实现冒泡排序。 )