使用Java读入一个TXT文件,文件中数据为字符串,格式为n*n幻方,判断其行之和是否相等
时间: 2024-05-14 19:14:33 浏览: 176
以下是一个使用Java读取TXT文件中幻方并判断行之和是否相等的示例代码:
```java
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
public class MagicSquare {
public static void main(String[] args) {
// 读取文件
File file = new File("magic_square.txt");
try (BufferedReader br = new BufferedReader(new FileReader(file))) {
String line;
while ((line = br.readLine()) != null) {
// 判断是否为幻方
if (isMagicSquare(line)) {
System.out.println(line + " is a magic square.");
} else {
System.out.println(line + " is not a magic square.");
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
// 判断是否为幻方
private static boolean isMagicSquare(String str) {
String[] arr = str.split(",");
int n = (int) Math.sqrt(arr.length);
int[][] square = new int[n][n];
int sum = 0;
// 将字符串转为二维数组
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
square[i][j] = Integer.parseInt(arr[i * n + j]);
sum += square[i][j];
}
}
// 判断行之和是否相等
for (int i = 0; i < n; i++) {
int rowSum = 0;
for (int j = 0; j < n; j++) {
rowSum += square[i][j];
}
if (rowSum != sum / n) {
return false;
}
}
return true;
}
}
```
在该示例代码中,我们首先读取了一个名为“magic_square.txt”的TXT文件,该文件中包含了多个幻方,每个幻方占据一行,每个数字之间用逗号隔开。然后我们使用“isMagicSquare”方法判断该字符串是否为幻方,并判断行之和是否相等。
在“isMagicSquare”方法中,我们首先将字符串转为二维数组,并计算出所有数字之和。然后我们遍历二维数组,计算每一行的数字之和,如果有任何一行的数字之和不等于所有数字之和除以幻方的阶数,那么该字符串就不是幻方,返回false。如果所有行的数字之和都相等,那么该字符串就是幻方,返回true。
阅读全文
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231044937.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)