Java-反向字符串空错误

Java-反向字符串空错误,java,string,null,Java,String,Null,例如,输入的含义如下所示。 \n 喀山河 \n 6789 \n Nzk462 \n 但是,我收到的输出如下所示 kzn462nullnzk 为什么会这样?我该怎么解决呢 private void btnGenerateActionPerformed(java.awt.event.ActionEvent evt) { secondname = JOptionPane.showInputDialog("

例如,输入的含义如下所示。 \n 喀山河 \n 6789 \n Nzk462 \n

但是,我收到的输出如下所示 kzn462nullnzk 为什么会这样?我该怎么解决呢

private void btnGenerateActionPerformed(java.awt.event.ActionEvent evt) {                                            

    secondname = JOptionPane.showInputDialog("Enter your surname:");
    firstname = JOptionPane.showInputDialog("Enter your firstname:");
    idno = JOptionPane.showInputDialog("Enter your idno:");
    nametag = firstname.substring(0, 1);
    initials = secondname + " " + nametag;

    int randnum;
    do {
        randnum = (int) (Math.random() * 900) + 100;
    } while (randnum % 2 != 0);

    code = secondname.replaceAll("[aeiou || AEIOU](?!\\b)", "")+randnum ;
    txaDisplay.append(initials + '\n' + idno.substring(6,10) + '\n' + code);

    int length = secondname.length();
    for (int i = length - 1; i >= 0; i--) {
        reverse = reverse + secondname.charAt(i);
    }
    String end = reverse + code;

   txaDisplay.append( reverse);
你为什么不使用

new StringBuilder(secondname).reverse().toString()
要反转您的
字符串
?它更好、更简单、更易维护。

为什么不使用

new StringBuilder(secondname).reverse().toString()
要反转您的
字符串
?它更好、更简单、更易维护。

为什么不使用

new StringBuilder(secondname).reverse().toString()
要反转您的
字符串
?它更好、更简单、更易维护。

为什么不使用

new StringBuilder(secondname).reverse().toString()

要反转您的
字符串
?它更好、更简单、更易于维护。

因为您不想使用StringBuilder/StringBuffer

试试这个

String reversedString="";
for(int i=inputString.length-1;i>=0;){
   reversedString+=inputString.charAt(i--);  
}

因为您不想使用StringBuilder/StringBuffer

试试这个

String reversedString="";
for(int i=inputString.length-1;i>=0;){
   reversedString+=inputString.charAt(i--);  
}

因为您不想使用StringBuilder/StringBuffer

试试这个

String reversedString="";
for(int i=inputString.length-1;i>=0;){
   reversedString+=inputString.charAt(i--);  
}

因为您不想使用StringBuilder/StringBuffer

试试这个

String reversedString="";
for(int i=inputString.length-1;i>=0;){
   reversedString+=inputString.charAt(i--);  
}
  • 从源字符串获取字符数组
  • 创建相同长度的新字符数组
  • 开始从0迭代到(sourceStringLength-1)
  • 在每次迭代中,获取最后一个字符 从源数组的末尾开始,填充到新数组中
  • 从这个新数组创建一个新字符串

        String source = "abcdefg";
        char[] chars = source.toCharArray();
        char[] reverseChars = new char[source.length()];
        int len = source.length();
        for(int i= 0; i < len; i++){
            reverseChars[i] = chars[len-1-i];
        }
        String reverse = new String(reverseChars);
        System.out.println(reverse);
    
    String source=“abcdefg”;
    char[]chars=source.toCharArray();
    char[]reverseChars=新字符[source.length()];
    int len=source.length();
    对于(int i=0;i
  • 从源字符串获取字符数组
  • 创建相同长度的新字符数组
  • 开始从0迭代到(sourceStringLength-1)
  • 在每次迭代中,获取最后一个字符 从源数组的末尾开始,填充到新数组中
  • 从这个新数组创建一个新字符串

        String source = "abcdefg";
        char[] chars = source.toCharArray();
        char[] reverseChars = new char[source.length()];
        int len = source.length();
        for(int i= 0; i < len; i++){
            reverseChars[i] = chars[len-1-i];
        }
        String reverse = new String(reverseChars);
        System.out.println(reverse);
    
    String source=“abcdefg”;
    char[]chars=source.toCharArray();
    char[]reverseChars=新字符[source.length()];
    int len=source.length();
    对于(int i=0;i
  • 从源字符串获取字符数组
  • 创建相同长度的新字符数组
  • 开始从0迭代到(sourceStringLength-1)
  • 在每次迭代中,获取最后一个字符 从源数组的末尾开始,填充到新数组中
  • 从这个新数组创建一个新字符串

        String source = "abcdefg";
        char[] chars = source.toCharArray();
        char[] reverseChars = new char[source.length()];
        int len = source.length();
        for(int i= 0; i < len; i++){
            reverseChars[i] = chars[len-1-i];
        }
        String reverse = new String(reverseChars);
        System.out.println(reverse);
    
    String source=“abcdefg”;
    char[]chars=source.toCharArray();
    char[]reverseChars=新字符[source.length()];
    int len=source.length();
    对于(int i=0;i
  • 从源字符串获取字符数组
  • 创建相同长度的新字符数组
  • 开始从0迭代到(sourceStringLength-1)
  • 在每次迭代中,获取最后一个字符 从源数组的末尾开始,填充到新数组中
  • 从这个新数组创建一个新字符串

        String source = "abcdefg";
        char[] chars = source.toCharArray();
        char[] reverseChars = new char[source.length()];
        int len = source.length();
        for(int i= 0; i < len; i++){
            reverseChars[i] = chars[len-1-i];
        }
        String reverse = new String(reverseChars);
        System.out.println(reverse);
    
    String source=“abcdefg”;
    char[]chars=source.toCharArray();
    char[]reverseChars=新字符[source.length()];
    int len=source.length();
    对于(int i=0;i

  • 我认为问题在于你对反转的定义,也许你有这样的定义:

    String reverse;
    
    然后不初始化“反向”,因此当程序在循环中进行第一次串联时,它看起来如下所示:

    reverse = null + secondname.charAt(i);
    
    空值转换为字符串,以便在输出中可见

    我希望这些信息对你有帮助


    祝你好运。

    我认为问题在于你对反转的定义,也许你有这样的定义:

    String reverse;
    
    然后不初始化“反向”,因此当程序在循环中进行第一次串联时,它看起来如下所示:

    reverse = null + secondname.charAt(i);
    
    空值转换为字符串,以便在输出中可见

    我希望这些信息对你有帮助


    祝你好运。

    我认为问题在于你对反转的定义,也许你有这样的定义:

    String reverse;
    
    然后不初始化“反向”,因此当程序在循环中进行第一次串联时,它看起来如下所示:

    reverse = null + secondname.charAt(i);
    
    空值转换为字符串,以便在输出中可见

    我希望这些信息对你有帮助


    祝你好运。

    我认为问题在于你对反转的定义,也许你有这样的定义:

    String reverse;
    
    然后不初始化“反向”,因此当程序在循环中进行第一次串联时,它看起来如下所示:

    reverse = null + secondname.charAt(i);
    
    空值转换为字符串,以便在输出中可见

    我希望这些信息对你有帮助


    祝你好运。

    什么是输入,什么是输出,什么被转换或随机添加?你的
    reverse
    字符串定义在哪里?我在你的方法里面看不到它,一定是在外面,你能把它也加进去吗?什么是输入,什么是输出,什么是被转换或随机添加的?你的
    reverse
    字符串定义在哪里?我在你的方法里面看不到它,一定是在外面,你能把它也加进去吗?什么是输入,什么是输出,什么是被转换或随机添加的?你的
    reverse
    字符串定义在哪里?我在你的方法里面看不到它,一定是在外面,你能把它也加进去吗?什么是输入,什么是输出,什么是被转换或随机添加的?你的
    reverse
    字符串定义在哪里?我在你的方法里面看不到它,一定是在外面,你能补充一下吗