Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 尝试将消息中的字母转换为数字时未获得任何输出_Java_Arrays - Fatal编程技术网

Java 尝试将消息中的字母转换为数字时未获得任何输出

Java 尝试将消息中的字母转换为数字时未获得任何输出,java,arrays,Java,Arrays,我试图制作一个程序,用户输入一条消息,程序将其转换成数字(例如a=1,b=2,等等)。但是,我没有得到任何输出!任何帮助都将不胜感激。我的代码如下 import java.io.PrintStream; import java.util.*; public class AllRand25 { public static void main(String[] args) { int[] letterArray; int[] wordArray; int l = 0;

我试图制作一个程序,用户输入一条消息,程序将其转换成数字(例如a=1,b=2,等等)。但是,我没有得到任何输出!任何帮助都将不胜感激。我的代码如下

import java.io.PrintStream;
import java.util.*;


public class AllRand25 {
public static void main(String[] args) {


    int[] letterArray;
    int[] wordArray;
    int l = 0;
    String messageWord;
    char messageChar;

    letterArray = new int[26];
    int[] messageArray = new int[10];

    int y = 0;

    System.out.print("Enter your message");
    Scanner scanner = new Scanner(System.in);
    String message = scanner.nextLine();

    while (scanner.hasNext()) {

        messageWord = scanner.next(message);

        l = messageWord.length();
         Scanner charScan = new Scanner(messageWord);

for(int i = 0; i < messageWord.length(); i++){

    messageChar = messageWord.charAt(i);


    if (messageChar == 'a' || messageChar == 'A' || messageChar == 'A') {
        messageArray[y] = 1;

    } else if (messageChar == 'b' || messageChar == 'B') {
        messageArray[y] = 2;
    } else if (messageChar == 'c' || messageChar == 'C') {
        messageArray[y] = 3;
    } else if (messageChar == 'd' || messageChar == 'D') {
        messageArray[y] = 4;
    } else if (messageChar == 'e' || messageChar == 'E') {
        messageArray[y] = 5;
    } else if (messageChar == 'f' || messageChar == 'F') {
        messageArray[y] = 6;
    } else if (messageChar == 'g' || messageChar == 'G') {
        messageArray[y] = 7;
    } else if (messageChar == 'h' || messageChar == 'H') {
        messageArray[y] = 8;
    } else if (messageChar == 'i' || messageChar == 'I') {
        messageArray[y] = 9;
    } else if (messageChar == 'j' || messageChar == 'J') {
        messageArray[y] = 10;
    } else if (messageChar == 'k' || messageChar == 'K') {
        messageArray[y] = 11;
    } else if (messageChar == 'l' || messageChar == 'L') {
        messageArray[y] = 12;
    } else if (messageChar == 'm' || messageChar == 'M') {
        messageArray[y] = 13;
    } else if (messageChar == 'n' || messageChar == 'N') {
        messageArray[y] = 14;
    } else if (messageChar == 'o' || messageChar == 'O') {
        messageArray[y] = 15;
    } else if (messageChar == 'p' || messageChar == 'P') {
        messageArray[y] = 16;
    } else if (messageChar == 'q' || messageChar == 'Q') {
        messageArray[y] = 17;
    } else if (messageChar == 'r' || messageChar == 'R') {
        messageArray[y] = 18;
    } else if (messageChar == 's' || messageChar == 'S') {
        messageArray[y] = 19;
    } else if (messageChar == 't' || messageChar == 'T') {
        messageArray[y] = 20;
    } else if (messageChar == 'u' || messageChar == 'U') {
        messageArray[y] = 21;
    } else if (messageChar == 'v' || messageChar == 'V') {
        messageArray[y] = 22;
    } else if (messageChar == 'w' || messageChar == 'W') {
        messageArray[y] = 23;
    } else if (messageChar == 'x' || messageChar == 'X') {
        messageArray[y] = 24;
    } else if (messageChar == 'y' || messageChar == 'Y') {
        messageArray[y] = 25;
    } else if (messageChar == 'z' || messageChar == 'Z') {
        messageArray[y] = 26;
    } 
    else if (messageChar == ' ') {
        messageArray[y] = 27;
    } 

    y++;
}

    }
    for(int i = 0; i < messageArray.length; i++){
        System.out.println(messageArray[i]);
        }





}
}
导入java.io.PrintStream;
导入java.util.*;
公共类AllRand25{
公共静态void main(字符串[]args){
int[]字母数组;
int[]字数组;
int l=0;
字符串消息字;
char-messageChar;
字母数组=新整数[26];
int[]messageArray=newint[10];
int y=0;
系统输出打印(“输入您的消息”);
扫描仪=新的扫描仪(System.in);
字符串消息=scanner.nextLine();
while(scanner.hasNext()){
messageWord=scanner.next(消息);
l=messageWord.length();
Scanner charScan=新扫描仪(messageWord);
for(int i=0;i
错误(或至少“A”)在这一行:

messageWord = scanner.next(message);
您正在将
message
指定为参数。这似乎是错误的,因为
next(字符串模式)
需要一个必须匹配下一个输入序列的正则表达式。只需调用此方法的无参数版本

错误(或至少“an”)在这一行:

messageWord = scanner.next(message);

您正在将
message
指定为参数。这似乎是错误的,因为
next(字符串模式)
需要一个必须匹配下一个输入序列的正则表达式。只需调用此方法的无参数版本

在我看来,现在的问题不是你的代码没有给出结果,而是它永远不会结束。它无限地运行

您需要为此重写整个代码。我不认为有任何快速修复方法可以让这一切按照你的意愿进行

我可以建议你在课堂上帮助你完成这个项目吗


这是一种将字符串用作索引数组而不是一个对象的方法。它可以让你想做的事情变得更容易。

现在我看到的问题不是你的代码没有给出结果,而是它永远不会结束。它无限地运行

您需要为此重写整个代码。我不认为有任何快速修复方法可以让这一切按照你的意愿进行

我可以建议你在课堂上帮助你完成这个项目吗


这是一种将字符串用作索引数组而不是一个对象的方法。它可以让你想做的事情变得更容易。

一方面,while
循环在
For
-循环通过
messageArray

之前结束,
while
循环甚至在通过
messageArray

循环的
for
-循环之前就结束了。之所以没有看到任何内容,是因为您检索了外部
while()
循环之外的输入,而完全忘记了对其执行任何有用的操作。 试着注释掉这一行

String message = scanner.nextLine();

您的程序将运行(但仍然存在ArrayIndexOutOfBoundsException,因此您也需要修复该异常)。

之所以看不到任何内容,是因为您在外部
while()
循环之外检索了输入,而完全忘记了对其执行任何有用的操作。 试着注释掉这一行

String message = scanner.nextLine();
并且您的程序将运行(但是仍然存在ArrayIndexOutOfBoundsException,所以您需要修复t