java - 在 Java 中查找命理数字

标签 java arrays 2d

所以问题是:
编写一个程序来查找给定名称的命理值。
注意:将命理数和对应的字符存储在一个二维数组(2*26)中。始终给定名称应大写,否则名称无效。检查有效名称,如果名称无效,则打印消息“无效名称”。提供的名称中不应有任何空格。

例如:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
1 2 3 4 5 8 3 5 1 1 2 3 4 5 7 8 1 2 3 4 6 6 6 5 1 7

Sample Input 1:
Enter your name:
SUDHA

Sample Output 1:
Your numerology no is:19

Sample Input 2:
Enter your name:
kiran

Sample Output 2:
Invalid name

Sample Input 3:
Enter your name:
ANI34

Sample Output 3:
Invalid name

“我正在使用一个 int 二维数组来存储值。”

  int[][] arr = {{65,1},{66,2},{67,3},{68,4},{69,5},{70,8},

                {71,3},{72,5},{73,1},{74,1},{75,2},{76,3},

                {77,4},{78,5},{79,7},{80,8},{81,1},{82,2},

                {83,3},{84,4},{85,6},{86,6},{87,6},{88,5},{89,1},{90,7}};

但现在我很困惑如何提取字符 ASCII 值并得到结果。
谁能帮帮我?
提前致谢

最佳答案

你可以试试:-


     int arr[][]={{65,1},{66,2},{67,3},{68,4},{69,5},{70,8},{71,3},{72,5},{73,1},{74,1},{75,2},{76,3},{77,4},{78,5},{79,7},{80,8},{81,1},{82,2},{83,3},{84,4},{85,6},{86,6},{87,6},{88,5},{89,1},{90,7}};
  

System.out.println("请输入您的姓名:");


     String name=sc.nextLine();
        String pattern="[A-Z]+";
         if(name.matches(pattern)){
            int score=0;
            for(int i=0;i<name.length();i++){
                char ch=name.charAt(i);
                score+=arr[(int)ch -65][1];
            }
            System.out.println("Your numerology no is:"+score);
        }
        else System.out.println("Invalid name");
 

关于java - 在 Java 中查找命理数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62653953/

相关文章:

java - 集合如何区分对象?

Javascript Array.from(...).forEach 赋值?

c++ - 添加到一个 int 会改变一个单独的 char 数组?

javascript - JavaScript 的 2D 引擎

algorithm - 如何正确使用SpriteBatch的变换矩阵?

java - 如何用适当的行号和列号填充二维数组?

java - IDE 是否跳转到覆盖的 toString() 方法实现?

java - Xpath:查找已知 div 后面的 div(非嵌套)

java - 添加操作栏(Android 教程)

Objective-c 中的 C++ 矩阵