Here's my code with 2 methods (besides the main one), BUT with different arguments inside the methods. Also it is an example of overloading methods with different signatures. Read the comments to clear the things out;
import java.util.Scanner;
public class UC_Methods {
public static void main(String[] args) {//THE MAIN METHOD CALLS THE OTHER 2 METHODS: getInput AND addValues
String s1 = getInput("Enter value 1: ");
String s2 = getInput("Enter value 2: ");
String s3 = getInput("Enter value 3: ");
double result = addValues(s1, s2);
System.out.println("The answer is: " + result);
double result2 = addValues(s1, s2, s3);
System.out.println("The answer for 3 values is: " + result2);
double result3 = addValues(s1, s2, s3, s1, s2, s3, s1, s2, s3);
System.out.println("The answer for ANY values is: " + result3);
}
static String getInput(String prompt) {//METHOD 1 FOR GETTING USER'S INPUT: getInput WITH STRING ARGUMENT CALLED prompt
System.out.print(prompt);
Scanner sc = new Scanner(System.in);
return sc.nextLine();
}
static double addValues(String s1, String s2) {//METHOD 2 FOR GETTING USER'S 2 VALUES + RESULT: addValues
double d1 = Double.parseDouble(s1);
double d2 = Double.parseDouble(s2);
double result = d1 + d2;
return result;
}
static double addValues(String s1, String s2, String s3) {//METHOD 2 FOR GETTING USER'S 3 VALUES + RESULT: addValues (WITH DIFFERENT ARGUMENTS)
double d1 = Double.parseDouble(s1);
double d2 = Double.parseDouble(s2);
double d3 = Double.parseDouble(s3);
double result = d1 + d2 + d3;
return result;
}
static double addValues(String... values) {//METHOD 2 FOR GETTING USER'S ANY AMOUNT OF VALUES + RESULT: addValues (WITH DIFFERENT ARGUMENTS)
double result = 0;
for (String value : values) {
double d = Double.parseDouble(value);
result += d;
}
return result;
}
}
and you should get this when you use 2,3 and 4:
Enter value 1: 2
Enter value 2: 3
Enter value 3: 4
The answer is: 5.0
The answer for 3 values is: 9.0
The answer for ANY values is: 27.0