Реверсирование строки, не работающей

47
6

Я прокомментировал панель параметров, чтобы получить быстрый обзор вывода. Я не уверен, что я делаю неправильно, и я только начал класс компьютерной науки. Мой вывод такой же, как и вход, но я знаю, что метод обратной строки правильный, потому что я его протестировал.

import javax.swing.JOptionPane;

public class ReverseString
{
public static void reverse(String n)
{
for(int i=0; i<n.length();i++)
{
n=n .substring(1, n.length()-i)
+n.substring(0,1)
+n.substring(n.length()-i, n.length());
}
}

public static void main (String []arg)
{
String n = (JOptionPane.showInputDialog(null,"Input String to reverse"));
reverse(n);
System.out.println(n);
// JOptionPane.showInputDialog(null,"Reversed String is: "+Input);
}
}

спросил(а) 2014-09-24T03:49:00+04:00 5 лет, 2 месяца назад
1
Решение
45

 public static void reverse(String n)

ваш тип возврата void поэтому эта функция ничего не возвращает, поэтому на консоли не будет никакого обращения.

почему вы получаете тот же результат? потому что вы просто распечатываете его по следующей строке

System.out.println(n); <-- you did not pass this n into your function.
Even though if you did, nothing would happened because
your reverse return type is void

если вы добавите System.out.println(n); после цикла for ваш код работает нормально.

 public static void reverse(String n) {
for (int i = 0; i < n.length(); i++) {
n = n.substring(1, n.length() - i)
+ n.substring(0, 1)
+ n.substring(n.length() - i, n.length());
}
System.out.println(n); <---- print out the reverse result on the console
from the reverse function
}

Подробнее о возврате значения из метода

ответил(а) 2014-09-24T04:10:00+04:00 5 лет, 2 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема