2011-06-01 25 views
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); 


    } 


} 
+1

你从编译器得到什么错误? – Longball27 2011-06-01 13:58:52

+0

'{'预计在第10行 - (public class line) – Chickadee 2011-06-01 14:01:13

+0

“public class MyString”旁边的“.java”是什么意思?它应该被删除。无论如何,它看起来像你的代码不会对输入字符串执行任何操作。 – 2011-06-01 14:03:09

回答

3
public class MyString .java { 

这是错误的。删除“java”

3

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

变量stringmiddle3在使用前未被初始化。

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); 
1

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

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

或类似的东西。

+0

它没有工作。我怎样才能让它显示中间的三个字符? – Chickadee 2011-06-01 14:13:29

+0

什么没有用?什么是输入;输出是什么?如果字符串短于3个字符,您要打印什么? – 2011-06-01 15:50:42