Java 程序 - 从 txt 文件读取数值数据
Java program - Reading numeric data from txt file
此 Java 程序用于从包含多个整数的 txt 文件中查找数据。我已经计算出程序的最大值、平均值 运行 的代码。对于你们中的很多人来说,这应该很简单,但我在编程方面相对缺乏经验,所以请耐心等待。
我遇到问题的三个代码如下。
- 高于平均数的数字
- 质数个数
- 求总和
有谁知道这样做的方法吗?
谢谢。任何建议都有帮助。
这是20个号码的txt文件样本
- 1
- 12
- 34
- 54
- 36
- 76
- 67
- 86
- 45
- 44
- 33
- 22
- 2
- 4
- 7
- 87
- 89
- 99
- 432
- 543
列表项
package Assignment1;
import java.io.File;
import java.io.IOException;
import java.util.Scanner;
public class Assignment1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// Define two arrays - local variables
// Declaring 10 integers
int[] myIntArray = new int[20];
// Declaring 10 strings
//File
File f = new File ("inputassignment1.txt");
try {
Scanner sc = new Scanner(f); //Scanner
for (int i=0; i < myIntArray.length; i++) {
myIntArray[i] = sc.nextInt();
}
// Closing the file
sc.close();
} catch (IOException e) {
System.out.println("Unable to create : "+e.getMessage());
}
System.out.println("Highest number: " + maxNum(myIntArray));
System.out.println("Average number: "+aveNum(myIntArray));
// System.out.println(allNum(myIntArray));
// System.out.println(avgPlus(myIntArray));
}// end of main
让我们分解你的任务:
总共有3个任务:
- 计算有多少数字高于平均水平
- 求总和
- 找出所有素数
其中每一项都要求您:
- 从文本文件中读取数字(可能是数组)
- 对它们执行一些检查(例如
if isPrime(number) { primes[numPrimes] = number; numPrimes++; }
)
- 数一数有多少(
numNumbers++
,每个数)
- 对它们求和(
totalSum += number
,每个数字)
对于第一个,您需要在拥有 count/sum 之后添加另一个循环,其他两个应该可以通过修改第一个循环来实现(我在下面展示了一个示例)。
我认为您应该能够 google 了解如何执行这些操作。您上面的代码看起来是一个很好的起点。
int numNumbers = 0;
int totalSum = 0;
for (int i=0; i < myIntArray.length; i++) {
myIntArray[i] = sc.nextInt();
numNumbers++;
totalSum += myIntArray[i];
}
此 Java 程序用于从包含多个整数的 txt 文件中查找数据。我已经计算出程序的最大值、平均值 运行 的代码。对于你们中的很多人来说,这应该很简单,但我在编程方面相对缺乏经验,所以请耐心等待。
我遇到问题的三个代码如下。
- 高于平均数的数字
- 质数个数
- 求总和
有谁知道这样做的方法吗? 谢谢。任何建议都有帮助。
这是20个号码的txt文件样本
- 1
- 12
- 34
- 54
- 36
- 76
- 67
- 86
- 45
- 44
- 33
- 22
- 2
- 4
- 7
- 87
- 89
- 99
- 432
- 543
列表项
package Assignment1;
import java.io.File;
import java.io.IOException;
import java.util.Scanner;
public class Assignment1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
// Define two arrays - local variables
// Declaring 10 integers
int[] myIntArray = new int[20];
// Declaring 10 strings
//File
File f = new File ("inputassignment1.txt");
try {
Scanner sc = new Scanner(f); //Scanner
for (int i=0; i < myIntArray.length; i++) {
myIntArray[i] = sc.nextInt();
}
// Closing the file
sc.close();
} catch (IOException e) {
System.out.println("Unable to create : "+e.getMessage());
}
System.out.println("Highest number: " + maxNum(myIntArray));
System.out.println("Average number: "+aveNum(myIntArray));
// System.out.println(allNum(myIntArray));
// System.out.println(avgPlus(myIntArray));
}// end of main
让我们分解你的任务:
总共有3个任务:
- 计算有多少数字高于平均水平
- 求总和
- 找出所有素数
其中每一项都要求您:
- 从文本文件中读取数字(可能是数组)
- 对它们执行一些检查(例如
if isPrime(number) { primes[numPrimes] = number; numPrimes++; }
) - 数一数有多少(
numNumbers++
,每个数) - 对它们求和(
totalSum += number
,每个数字)
对于第一个,您需要在拥有 count/sum 之后添加另一个循环,其他两个应该可以通过修改第一个循环来实现(我在下面展示了一个示例)。
我认为您应该能够 google 了解如何执行这些操作。您上面的代码看起来是一个很好的起点。
int numNumbers = 0;
int totalSum = 0;
for (int i=0; i < myIntArray.length; i++) {
myIntArray[i] = sc.nextInt();
numNumbers++;
totalSum += myIntArray[i];
}