Java IO流中按空格读入字符串

使用splist()方法

  • split() 方法可以根据匹配给定的正则表达式来拆分字符串
public String[] split(String regex, int limit)
//regex为正则表达式
//limit为切割份数

实例:

 	String  s0;
   try (BufferedReader br = new BufferedReader(new FileReader("test.txt")))	/从test.txt中读入
        {
         while((s0 = br.readLine()) != null)
         {
            String arr1[] = s0.split(" ");	//按空格将其分割并返回到数组arr1中
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下为Java代码实现: ```java import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public class MagicSquare { public static void main(String[] args) { int[][] square = readMagicSquare("magic_square.txt"); if (isMagicSquare(square)) { System.out.println("This is a magic square."); } else { System.out.println("This is not a magic square."); } } public static int[][] readMagicSquare(String filename) { int[][] square = null; try (BufferedReader br = new BufferedReader(new FileReader(filename))) { String line = br.readLine(); int n = line.split(" ").length; square = new int[n][n]; int i = 0; while (line != null) { String[] nums = line.split(" "); for (int j = 0; j < n; j++) { square[i][j] = Integer.parseInt(nums[j]); } line = br.readLine(); i++; } } catch (IOException e) { e.printStackTrace(); } return square; } public static boolean isMagicSquare(int[][] square) { int n = square.length; int sum = 0; for (int i = 0; i < n; i++) { sum += square[0][i]; } // check row sum for (int i = 1; i < n; i++) { int rowSum = 0; for (int j = 0; j < n; j++) { rowSum += square[i][j]; } if (rowSum != sum) { return false; } } // check column sum for (int i = 0; i < n; i++) { int colSum = 0; for (int j = 0; j < n; j++) { colSum += square[j][i]; } if (colSum != sum) { return false; } } // check diagonal sum int diagSum1 = 0; int diagSum2 = 0; for (int i = 0; i < n; i++) { diagSum1 += square[i][i]; diagSum2 += square[i][n - 1 - i]; } if (diagSum1 != sum || diagSum2 != sum) { return false; } return true; } } ``` 其,`readMagicSquare`方法用于读取文件的幻方数据,返回一个二维数组。`isMagicSquare`方法用于判断该二维数组是否为幻方,即每行、每列、每条对角线的和均相等。如果是幻方,则返回`true`,否则返回`false`。最后,在`main`方法调用这两个方法,输出结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值