0

I'm trying to get the return value savedName from calling the method. I need to use the value from the string saved name in another method

    if (n == 0){
        String fullName = readFromFile(); //wont let me do this
        text.setText("Welcome " + fullName + ".");
    }


private String readFromFile(String savedName){
    savedName="";
    try {
    BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(f)));
    savedName = br.readLine();
    System.out.println(savedName);
    } catch (IOException e) {
        e.printStackTrace();
    }
    return savedName;

}
JavaScrub
  • 7
  • 2
  • 5

2 Answers2

1

The method you are trying to call must have a matching method signature. In this case the number and type arguments must be the same. The most direct approach is to remove the String argument from your method, and create a String variable called savedName in your method and return it, like this:

private String readFromFile(){
    String savedName="";
    try {
    BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(f)));
    savedName = br.readLine();
    System.out.println(savedName);
    } catch (IOException e) {
        e.printStackTrace();
    }
    return savedName;

}
lreeder
  • 12,047
  • 2
  • 56
  • 65
0

i have made new changes in String fullName = readFromFile("pass some String here"); //wont let me do this

 if (n == 0){
        String fullName = readFromFile("pass some String here"); //now this will let you do
        text.setText("Welcome " + fullName + ".");
    }


private String readFromFile(String savedName){
    savedName="";
    try {
    BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(f)));
    savedName = br.readLine();
    System.out.println(savedName);
    } catch (IOException e) {
        e.printStackTrace();
    }
    return savedName;

}
Mohsin AR
  • 2,998
  • 2
  • 24
  • 36