(拉丁正方形)拉丁正方形是一个 nXn 的数组,由 n 个不同的拉丁字母填充,每个拉丁字母恰好 只在每行和每列中出现一次。编写一个程序,提示用户输人数字 n 以及字符数组,如示例输出 所示,检测该输出数组是否是一个拉丁正方形。字符是从 A 开始的前面 n 个字符。

区块链毕设网qklbishe.com为您提供问题的解答

(拉丁正方形)拉丁正方形是一个 nXn 的数组,由 n 个不同的拉丁字母填充,每个拉丁字母恰好 只在每行和每列中出现一次。编写一个程序,提示用户输人数字 n 以及字符数组,如示例输出 所示,检测该输出数组是否是一个拉丁正方形。字符是从 A 开始的前面 n 个字符。
(拉丁正方形)拉丁正方形是一个 nXn 的数组,由 n 个不同的拉丁字母填充,每个拉丁字母恰好 只在每行和每列中出现一次。编写一个程序,提示用户输人数字 n 以及字符数组,如示例输出 所示,检测该输出数组是否是一个拉丁正方形。字符是从 A 开始的前面 n 个字符。

package com.open.lab;  import java.util.Scanner;  public class Demo5_14 {     public static void main(String[] args) {         Scanner sc = new Scanner(System.in);         System.out.println("Enter number n:");         int n = sc.nextInt();         if (n == 0) {             System.out.println("WRONG INPUT");         }         char[][] arr = new char[n][n];         System.out.println("Enter " + n + " rouws of letters separated by spaces:");         for (int i = 0; i < arr.length; i++) {             for (int j = 0; j < arr[0].length; j++) {                  arr[i][j] = sc.next().charAt(0);              }         }         isLatin(arr);     }      private static void isLatin(char[][] arr) {         if (exist(arr)) {             int[] count = new int[arr.length];             for (int i = 0; i < arr.length; i++) {                 for (int j = 0; j < arr[0].length; j++) {                     count[i]+=arr[i][j] - 'A';                 }             }              int[] sum = new int[arr[0].length];             for (int j = 0; j < arr[0].length; j++) {                 for (int i = 0; i < arr.length; i++) {                     sum[j]+=arr[i][j] - 'A';                 }             }             for (int i = 0; i < sum.length; i++) {                 if (sum[i] != add1(sum) || count[i] != add1(count)) {                     System.out.println("The input array is NOT a Latin square");                     return;                 }                 System.out.println("The input array is a Latin square");                 return;             }             }else {             System.out.println("WRONG INPUT :MUST BE" + " A" + " to" + (char) ('A' + arr.length - 1));         }     }      private static int add1(int[] sum) {         int he = 0;         for(int n = sum.length-1;n>=0;n--){             he=he+n;         }         return he;      }       private static boolean exist(char[][] arr) {         for (int i = 0; i < arr.length; i++) {             for (int j = 0; j < arr[0].length; j++) {                 if (arr[i][j] < 'A' || arr[i][j] > (char)('A' + arr.length - 1)) {                     return false;                 }             }          }         return true;     } }

58:25

以上就是关于问题(拉丁正方形)拉丁正方形是一个 nXn 的数组,由 n 个不同的拉丁字母填充,每个拉丁字母恰好 只在每行和每列中出现一次。编写一个程序,提示用户输人数字 n 以及字符数组,如示例输出 所示,检测该输出数组是否是一个拉丁正方形。字符是从 A 开始的前面 n 个字符。的答案

欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。

区块链NFT链游项目方科学家脚本开发培训

承接区块链项目定制开发

微信:btc9767

QQ :1330797917

TELEGRAM: BTCOK9

承接区块链项目定制开发


qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » (拉丁正方形)拉丁正方形是一个 nXn 的数组,由 n 个不同的拉丁字母填充,每个拉丁字母恰好 只在每行和每列中出现一次。编写一个程序,提示用户输人数字 n 以及字符数组,如示例输出 所示,检测该输出数组是否是一个拉丁正方形。字符是从 A 开始的前面 n 个字符。