好的,所以我有另一个程序。这应该是不言自明的。该程序用于从连续的 java 输入(逐行)读取字符,直到 .被输入。然后它将所有大写字符转换为小写字符,反之亦然(特殊字符或数字不被修改)。然后输出更改。
import java.io.*;
class textchanger
{
public static void main(String[] args) throws IOException
{
InputStreamReader inStream = new InputStreamReader (System.in);
BufferedReader userInput = new BufferedReader (inStream);
String inputValues;
char charCounter = 0;
System.out.println("Welcome the to text modifier!");
System.out.println("Inset any character(s) you wish: ");
inputValues = userInput.readLine();
while ((inputValues = userInput.readLine()) != null && inputValues.indexOf('.') == -1) {
}
int length = inputValues.length();
for(int i = 0; i < length; i++) {
charCounter = inputValues.charAt(i);
}
if(Character.isUpperCase(charCounter)) {
Character.toLowerCase(charCounter);
System.out.println(charCounter);
}
else if(Character.isLowerCase(charCounter)) {
Character.toUpperCase(charCounter);
System.out.println(charCounter);
}
}
}
如有任何帮助,我们将不胜感激。我收到的当前错误在“.”之后没有显示任何内容。输入字符。
最佳答案
CharCounter
已在 main
方法的范围内定义。替换
char CharCounter = inputValues.charAt(i);
与
CharCounter = inputValues.charAt(i);
执行此操作后,需要初始化变量,因为在 Java 中需要初始化所有局部变量:
char CharCounter = 0;
并且在命名变量时使用 Java 命名约定,例如 charCounter
。
class TextChanger {
public static void main(String[] args) throws IOException {
InputStreamReader inStream = new InputStreamReader(System.in);
BufferedReader userInput = new BufferedReader(inStream);
String inputValues;
System.out.println("Welcome the to text modifier!");
System.out.println("Inset any character(s) you wish: ");
while ((inputValues = userInput.readLine()) != null
&& inputValues.indexOf('.') == -1) {
int length = inputValues.length();
for (int i = 0; i < length; i++) {
char charCounter = inputValues.charAt(i);
if (Character.isUpperCase(charCounter)) {
System.out.println(Character.toLowerCase(charCounter));
} else if (Character.isLowerCase(charCounter)) {
System.out.println(Character.toUpperCase(charCounter));
}
}
}
}
}
关于Java读取大/小写字符并转换它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16813342/