# Thread: Help needed with a Java exercise

1. Member
Join Date
May 2011
Posts
7
Rep Power
0

## Help needed with a Java exercise

Hi all,

I'm taking a java programming course, and can't figure out an exercise. Could someone help?

The exercise is to create a programme which asks the user to give a value for n and then calculate the sum of:

1 + 2 + 3 + ... + n

(e.g. if n = 6, it would be 1 + 2 + 3 + 4 + 5 + 6)

But: you have to do it WITHOUT using a loop.

I can't get further than:

XML Code:
```import java.util.*;

public class T27_Summa1_2_3_n {

private static Scanner input = new Scanner(System.in);

public static void main(String[] args) {
System.out.print("Anna n: ");
int n = Integer.parseInt(input.nextLine());
}
}```
Probably some obvious solution which I'm totally missing... Thanks!

2. Try using a recursive method.

I'll quickly explain what recrsion is but I don't want to ruin it for you so I'll save examples for if you get really stuck.
A recursive method generally is broken down into it's parts, one part is a termination clause, what should occur for the method to finally return? The other part is a recursive call. To keep it simple let's work with a recursive process. The method should do something then call itself.

Here is a good recursive definition, I'll leave the translation and base case to you

To find the sum of numbers up to n you want to:
Add n to sum(n - 1)

Java Code:
```public int sumN(int n){
if condition is met
return base case
else
do something and make a recursive call
}```
A recursive call is a method calling itself. Recursion is a bit strange coming from usig loops so it may take a bit to sink on, however; it's definitely nice to understand.

3. Member
Join Date
May 2011
Posts
7
Rep Power
0
Solved:

XML Code:
```import java.util.*;

public class T27_Summa1_2_3_n {

private static Scanner input = new Scanner(System.in);

public static int summa(int n) {
if (n == 1) {
return 1;
} else {
return n + summa(n - 1);
}
}

public static void main(String[] args) {
System.out.print("Anna n: ");
int n = Integer.parseInt(input.nextLine());
System.out.println("Tulos: " + summa(n));
}
}```
Thank you for your pointers, sunde887!

4. You are welcome, glad to have helped. Please mark your thread solved with the thread tools at the top of the page.

5. Member
Join Date
May 2011
Posts
7
Rep Power
0
There seems to be a problem with that:

Content Encoding Error

The page you are trying to view cannot be shown because it uses an invalid or unsupported form of compression.

#### Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•