【问题标题】:new to coding help Processing新的编码帮助处理
【发布时间】:2022-01-15 18:10:45
【问题描述】:

我试图让用户输入与他们输入的内容相反,例如,如果他们输入 helloWorld,它会输出到 HELLOwORLD 但由于某种原因,我的代码无法正常工作,我不知道如何修复它。

 import javax.swing.JOptionPane;
 
 String originalText = JOptionPane.showInputDialog
    ("Enter a short phrase:"); //to get the userInput text
  
  for(int i=0; i <= originalText.length(); i++)
  {
     if(originalText.charAt(i).isUpperCase()) 
     {
       originalText.charAt(i).toLowerCase();
     }
     else if(originalText.charAt(i).isLowerCase())
     {
       originalText.charAt(i).toUpperCase();
     }
  }

【问题讨论】:

  • 请阅读How to Ask。您的问题的标题应该是对问题的完整描述 - 而不是您的技能水平。您应用于问题的标签应该是相关的。您似乎正在编写 Java,而不是使用 C++ 标记的处理语言或 toupper/tolower。

标签: java processing toupper tolower


【解决方案1】:

函数toLowerCase()toUpperCase()是类String的方法。此方法不会原地更改字符,而是返回一个新字符串。

一个字母一个字母地创建一个新的字符串:

String newString = new String();
for(int i=0; i < originalText.length(); i++) {
  
   if (Character.isUpperCase(originalText.charAt(i))) {
       newString += originalText.substring(i, i+1).toLowerCase();
   } else {
       newString += originalText.substring(i, i+1).toUpperCase();
   }
}

或者

String newString = new String();
for(int i=0; i < originalText.length(); i++) {
  
   char ch = originalText.charAt(i);
   if (Character.isUpperCase(ch)) {
       newString += Character.toLowerCase(ch);
   } else {
       newString += Character.toUpperCase(ch);
   } 
}

【讨论】:

  • @RIA 谢谢。不客气。
猜你喜欢
  • 2017-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-27
  • 1970-01-01
  • 1970-01-01
  • 2013-03-08
  • 1970-01-01
相关资源
最近更新 更多