键盘输入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个数存入数组中,然后实现冒泡排序。 )
