Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.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,有人能帮我确定数组的大小吗?反向数组一直越界,我不知道如何修复它。该程序的目的是让用户输入一个句子,程序将找出有多少回文,以及它们是什么 package palindrome; import java.util.*; import javax.swing.*; class Palindrome2 { public static void main(String args[]) { //String[] reverse; //Reverse word String[] w

有人能帮我确定数组的大小吗?反向数组一直越界,我不知道如何修复它。该程序的目的是让用户输入一个句子,程序将找出有多少回文,以及它们是什么

package palindrome;

import java.util.*;
 import javax.swing.*;

class Palindrome2
{
   public static void main(String args[])
   {
  //String[] reverse; //Reverse word
  String[] words;
  int count = 0;
  String palindromes[];

  //User Input
  String original = JOptionPane.showInputDialog("Words that are the same "
          + "forwards and backwards are called palindromes.\n"
          + "This program determines if a word is a palindrome.\n\n"
          + "Enter a word: ");

  //Length of the Input
  int length = original.length();


  //Spliting the original into an Array

  words = original.split("\\s");



  //Reversing the User's Input
  String[] reverse = new String[words.length];


  for(int j = 0; j < words.length; j++){

      int wordLength = words[j].length();

      for ( int i = wordLength - 1 ; i >= 0 ; i-- ) {
       reverse[i] = reverse[i] + original.charAt(i);
   }
  }

  //Determining if it is a Palindrome and Output 


  for (int l = 0; l < words.length; l++){

      if (original.equalsIgnoreCase(reverse[l])) {

       count = count + 1;

       palindromes = new String[count];
       palindromes[l] = reverse[l];


   }
  else {

  }
   }

JOptionPane.showMessageDialog(null, "There are " + count + " Palindromes"
        + " in this sentence");

JOptionPane.showMessageDialog(null, "The palindromes are:\n"+ palindromes);
包回文;
导入java.util.*;
导入javax.swing.*;
类回文2
{
公共静态void main(字符串参数[])
{
//字符串[]反向;//反向字
字符串[]个单词;
整数计数=0;
字符串回文[];
//用户输入
String original=JOptionPane.showInputDialog(“相同的单词”
+“向前和向后称为回文。\n”
+“此程序确定单词是否为回文。\n\n”
+“输入一个单词:”;
//输入的长度
int length=original.length();
//将原始数据拆分为数组
文字=原件。拆分(\\s);
//反转用户的输入
String[]reverse=新字符串[words.length];
for(int j=0;j=0;i--){
反向[i]=反向[i]+原始字符(i);
}
}
//确定它是否是回文和输出
for(int l=0;l
}

}也许你的意思是

reverse[j] = reverse[j] + original.charAt(i);

确切的错误消息是什么?是哪一行导致了错误?我把它改成了那一行,它消除了越界错误!谢谢但是,还有其他问题:\