Java “类型扫描程序的toCharArray()方法未定义”
我试图反转用户输入的字符串,但在运行程序时收到此错误:Java “类型扫描程序的toCharArray()方法未定义”,java,arrays,char,Java,Arrays,Char,我试图反转用户输入的字符串,但在运行程序时收到此错误: Exception in thread "main" java.lang.Error: Unresolved compilation problem: The method toCharArray() is undefined for the type Scanner 为什么我会犯这个错误?以下是我的节目: import java.util.Scanner; public abstract class StringRevers
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The method toCharArray() is undefined for the type Scanner
为什么我会犯这个错误?以下是我的节目:
import java.util.Scanner;
public abstract class StringReverse {
public abstract char[] toCharArray();
private static Scanner input;
public static <string> void main(String[] args){
System.out.println("Enter a string: ");
Scanner String = new Scanner(System.in);
String str = input.next();
char[] strArray = input.toCharArray();
for (int i = strArray.length - 1; i >= 0; i--)
{
System.out.print(strArray[i]);
}
}
}
您的代码有几个小问题,导致其无法正确运行: 更改扫描仪字符串=新建ScannerSystem.in;输入=新扫描系统.in 更改字符[]strArray=input.tocharray;to char[]strArray=str.toCharArray 这一行:公共抽象字符[]ToCharray;是没用的,你可以直接删除它。这不是不正确的,但不是必须的 此外,您还可以从主方法头中删除,因为它是无用的 因此,您的最终代码应该如下所示:
import java.util.Scanner;
public abstract class StringReverse {
private static Scanner input;
public static void main(String[] args){
System.out.println("Enter a string: ");
input = new Scanner(System.in);
String str = input.next();
char[] strArray = str.toCharArray();
for (int i = strArray.length - 1; i >= 0; i--)
{
System.out.print(strArray[i]);
}
}
}
import java.util.Scanner;
public abstract class StringReverse {
private static Scanner input;
public static void main(String[] args){
System.out.println("Enter a string: ");
input = new Scanner(System.in);
String str = input.next();
System.out.println(new StringBuilder(str).reverse().toString());
}
}
或者更简单的反转字符串的方法是使用StringBuilder和.reverse,如下所示:
import java.util.Scanner;
public abstract class StringReverse {
private static Scanner input;
public static void main(String[] args){
System.out.println("Enter a string: ");
input = new Scanner(System.in);
String str = input.next();
char[] strArray = str.toCharArray();
for (int i = strArray.length - 1; i >= 0; i--)
{
System.out.print(strArray[i]);
}
}
}
import java.util.Scanner;
public abstract class StringReverse {
private static Scanner input;
public static void main(String[] args){
System.out.println("Enter a string: ");
input = new Scanner(System.in);
String str = input.next();
System.out.println(new StringBuilder(str).reverse().toString());
}
}
更改为char[]strArray=str.tocharray;我不知道异常可能会变得多么清晰…并且更改Scanner String=new ScannerSystem.in;输入=新扫描系统.in;新StringBuildertrue.reverse.toString;