Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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 尝试遍历字符串并查找char是字母还是数字,然后将其附加到其他字符串_Java_String_Append - Fatal编程技术网

Java 尝试遍历字符串并查找char是字母还是数字,然后将其附加到其他字符串

Java 尝试遍历字符串并查找char是字母还是数字,然后将其附加到其他字符串,java,string,append,Java,String,Append,我需要遍历字符串userInput,找出字符是字母还是数字,如果是,那么我需要将该字符附加到字符串的endProduct中 public static String converter(String userInput) { String endProduct = ""; char c = userInput.charAt(0); Stack<Character> stack = new Stack<Character&g

我需要遍历字符串userInput,找出字符是字母还是数字,如果是,那么我需要将该字符附加到字符串的endProduct中

    public static String converter(String userInput) {
        String endProduct = "";
        char c = userInput.charAt(0);
        Stack<Character> stack = new Stack<Character>();
        int len = userInput.length();
        //iterates through the word to find symbols and letters, if letter or digit it appends to endProduct, if symbol it pushes onto stack
        for (int i = c; i < len; i++) {
            if (Character.isLetter(userInput.charAt(i))) {
                endProduct = endProduct + c;
                System.out.println(c);
            }//end if
            else if(Character.isDigit(userInput.charAt(i))){
                endProduct = endProduct + c;
                System.out.println(c);
            }
公共静态字符串转换器(字符串用户输入){
字符串endProduct=“”;
char c=userInput.charAt(0);
堆栈=新堆栈();
int len=userInput.length();
//循环遍历单词以查找符号和字母,如果它将字母或数字附加到endProduct,如果它将符号推到堆栈上
for(int i=c;i
以下是一些实现这一点的方法

方法1-传统Java

private static String converter(String userInput) {
  final StringBuilder endProduct = new StringBuilder();

  for(char ch : userInput.toCharArray()) {
    if(Character.isLetterOrDigit(ch)) endProduct.append(ch);
  }

  return endProduct.toString();
}
方法2-流

private static String converter(String userInput) {
  int[] chars = userInput.codePoints().filter(Character::isLetterOrDigit).toArray();

  return new String(chars, 0, chars.length);*/
}


下面是一些实现这一点的方法

方法1-传统Java

private static String converter(String userInput) {
  final StringBuilder endProduct = new StringBuilder();

  for(char ch : userInput.toCharArray()) {
    if(Character.isLetterOrDigit(ch)) endProduct.append(ch);
  }

  return endProduct.toString();
}
方法2-流

private static String converter(String userInput) {
  int[] chars = userInput.codePoints().filter(Character::isLetterOrDigit).toArray();

  return new String(chars, 0, chars.length);*/
}


这里的问题是什么?可以确认userInput从迭代应该开始的索引开始吗?您可能是指“for(int i=0…”这里的问题是什么?可以确认userInput从迭代应该开始的索引开始吗?您可能是指“for(int i=0…”