Простая строковая ошибка

Я пытаюсь создать строковый метод в 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 ответа

Ты используешь MyString .java как имя класса. Java не допускает, чтобы пространство и точка были частью допустимого имени класса. Я думаю, ты имел в виду MyString,

Также переменные string а также middle3 не инициализируются перед их использованием.

public class MyString .java {

это не верно. удалить ". Java"

Вы на самом деле не рассчитываете middle3. Это даже не инициализируется нулем. Я полагаю, вы хотите:

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

или что-то типа того.

Почему вы добавляете строку здесь?

 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);
Другие вопросы по тегам