2017-01-26 4 views
-1

В настоящее время есть программа, которая имеет 2 класса, один класс предназначен для основного метода, а другой для строк.Метод вызова с возвращенной переменной от основного

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

public class main { 

public static void main(String[] args) 
{ 
    ReverseString test1 = new ReverseString(); 
    test1.getString(); 
    test1.getReverse(inputString); 
} 

Класс строк:

public class ReverseString { 

public ReverseString() 
{ 

} 

public String getString() 
{ 
    String inputString = ""; 
    Scanner keyboard = new Scanner(System.in); 
    System.out.print("Please enter string: "); 
    inputString = keyboard.nextLine(); 
    return inputString; 
} 

public String getReverse(String inputString) 
{ 
    String temp = ""; 
    for(int i = inputString.length(); i >= 0; i--) 
    { 
     temp = temp + inputString.charAt(i); 
    } 
    System.out.println(temp); 
    return temp; 

} 

Программа принимает строку правильно, но не будет работать второй метод после того, как первый метод был вызван.

+1

Начните с изучения базовых программных функций, таких как переменные, функции и т. Д. – Andremoniy

+0

кроме того, что проблема не компилируется, потому что inputString не известна в main метода. Он вернет IndexOutOfBounds, поскольку длина строки String # length и String # charAt работает с индексом, который основан на 0. – Redlab

+0

@Redlab будет работать лучше, если inputString был определен в основном, а не в классе? – Pengoid

ответ

2
public static void main(String[] args) 
{ 
    ReverseString test1 = new ReverseString(); 
    String inputString = test1.getString(); 
    inputString = test1.getReverse(inputString); 
} 

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

Смежные вопросы