0

我正在尝试在 java 中创建一个字符串方法,它会提示某人输入一个长度超过三个字符的字符串。输入后,我想显示该字符串的中间三个字符。出了点问题,因为它没有编译。谁能看到我的错误?我找不到它。谢谢。

//MyString.java
import java.util.Scanner; 
 public class MyString .java {


    public static void main (String[] args) 
    {    

String string;


Scanner scan = new Scanner(System.in);
System.out.println ("Enter a string with a minimum of three characters: " + string); 
string = scan.nextLine();

System.out.println ("You entered: " + string);

String middle3;

System.out.println ("The middle three characters of the string: " + middle3);


    }


}
4

4 回答 4

3
public class MyString .java {

这是错误的。删除“.java”

于 2011-06-01T14:00:14.537 回答
3

您正在MyString .java用作类名。Java 不允许空格和句点作为有效类名的一部分。我猜你的意思是MyString

也是变量string,并且middle3在使用之前未初始化。

于 2011-06-01T14:00:17.297 回答
1

你实际上并没有计算middle3。它甚至没有初始化为空。我想你想要:

String middle3 = (string.length < 3) ? null : string.substring(string.length / 2 - 1), string.length / 2 + 2);

或类似的东西。

于 2011-06-01T14:02:56.907 回答
0

为什么要在此处附加字符串?

 System.out.println ("Enter a string with a minimum of three characters: " + string ); 

在这里你应该初始化middle

String middle3 ="something";    
System.out.println ("The middle three characters of the string: " + middle3);
于 2011-06-01T14:01:48.320 回答