Почему я получаю неправильный вывод?

#java #eclipse

#java #eclipse

Вопрос:

Я написал эту программу для обмена первым и последним символами в строке.

Я создал два класса (abc и BackFront). В Eclipse нет ошибок, но я не получаю никаких выходных данных. Когда я нажимаю кнопку выполнить, я получаю вывод какого-то другого класса. Что я делаю не так?

Класс abc с main:

 package puneeth;
import java.lang.*;

public class abc {
    public void main(String[] args) {
        BackFront object1 = new BackFront();
        String str = "chocolate";
        object1.frontBack(str);
    }
}
  

BackFront класса:

 package puneeth;
import java.lang.*;
public class BackFront {
    public String frontBack(String str) {
        String mid = str.substring(1,str.length());
        String first = str.substring(0,3);
        String last = str.substring(str.length());
        return last   mid   first;
    }
}
  

Комментарии:

1. Как написано, он не должен ничего выводить .

2. import java.lang.*; неявно добавляется компилятором. Вам не нужно это писать.

Ответ №1:

Это странно, убедитесь, что вы используете правильный файл.

Ответ №2:

Строка изменяется, но вы никогда физически не печатаете ее для вывода. Вы могли бы сделать System.out.println(object1.frontBack(str); , чтобы получить вывод из консоли вывода.

Комментарии:

1. Как вы сказали, я добавил строку System.out.println(object1.frontBack(str) . Но все равно не получаю никакого вывода

Ответ №3:

Ошибка в вашем коде заставит вас смеяться.

Прежде всего, вам нужно распечатать возвращенную строку. Сделайте это:

 String res=object1.frontBack(str);
System.out.println(res);
  

Во-вторых, вам нужно сделать свой main СТАТИЧНЫМ. Сделайте это:

 public static void main(String [] args)
{
//your code
}
  

Это решит вашу проблему. Надеюсь, это поможет 🙂

Комментарии:

1. тогда, пожалуйста, отметьте это как ответ. 🙂 @user3790397

Ответ №4:

BackFront класса:

 package puneeth;

public class BackFront {
    public void frontBack(String str) {
        String resu<
        StringBuilder sb = new StringBuilder(str);
        char first = sb.charAt(0);
        sb.setCharAt(0, sb.charAt(sb.length() - 1));
        sb.setCharAt(sb.length() - 1, first);
        result = sb.toString();
        System.out.println(result);
    }

}
  

Класс abc с методом main:

 package puneeth;

public class abc {
    public static void main(String[] args) {
        BackFront object1 = new BackFront();
        String str = "chocolate";
        object1.frontBack(str);
    }

}

// Result:
//        ehocolatc
  

Ответ №5:

Какой тип вывода вы ожидаете.
Если вы ожидаете чего-то в окне вывода, вам нужно это:

 System.out.println( "My String" );