• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

为什么’包含’不起作用?或者我做错了?

java 来源:user3323654 3次浏览

目标:为什么’包含’不起作用?或者我做错了?

  1. 检查,如果用户输入一个字母
  2. 检查它是否是一个元音或辅音
  3. 检查,如果有一个字符串

包含重复的字母不返回任何东西或我正在使用它错误

Scanner out = new Scanner(System.in); 
    System.out.print("Please insert a text: "); 

    String[] vowels = {"a", "e", "i", "o", "u"}; 
    String userInput = out.nextLine(); 
    char[] charUserInput = userInput.toCharArray(); 
    String temp = ""; 
    String temp1 = ""; 
    for (int i = 0; i <= charUserInput.length -1; i++){ 
     if (Character.isLetter(charUserInput[i])){ 
      if (Character.toString(charUserInput[i]).equalsIgnoreCase(vowels[0]) || (Character.toString(charUserInput[i]).equalsIgnoreCase(vowels[1]) || 
        (Character.toString(charUserInput[i]).equalsIgnoreCase(vowels[2]) || (Character.toString(charUserInput[i]).equalsIgnoreCase(vowels[3]) || 
          (Character.toString(charUserInput[i]).equalsIgnoreCase(vowels[4])))))){ 
        if (!Character.toString(charUserInput[i]).contains(temp)){ 
         temp += Character.toString(charUserInput[i]); 
        } 
      }else{ 
       if (!Character.toString(charUserInput[i]).contains(temp1)){ 
        temp1 += Character.toString(charUserInput[i]); 
       } 

      } 
     } 
    } 
    System.out.println(temp); 
    System.out.println(temp1); 
    out.close(); 


===========解决方案如下:

看起来像你反转条件:使用

temp.contains(Character.toString(charUserInput[i])) 

,而不是

Character.toString(charUserInput[i]).contains(temp) 

版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)