I recently started coding in Java, I just started a week ago. The previous post was deleted because I did not specify it enough, I am sorry for that. I’ve been having troubles with for, do and while statements, and how do I output the same results in the expected outputs that I have typed in? With the use of while or do or for only.
Current code:
public class Main { public static void main(String[] args) { for(int row = 3;row <= 7;row++) { String spc = " "; for(int column = 1; column <;= 3; column++) { System.out.print(column * row + spc); } System.out.println(); } } }
Current outputs:
3 6 9 4 8 12 5 10 15 6 12 18 7 14 21
Expected outputs:
Set 1
3 4 6 5 8 11 6 10 14 18 7 12 17 22 27
Set 2
3 8 13 18 22 2 6 10 14 1 4 7 0 2 -1
I’m really having a hard time in solving this problem, any help will be very appreciated! Thank you 🙂
Advertisement
Answer
Here’s a solution to your problem. I started with a row number, 1..5. Then, I figured out from that value how many times I needed to perform the inner loop based on the row number. Once I’m iterating the right number of times in the inner loop, then it’s just a matter of making the math come out right to give the numbers you desire:
public static void main(String argv[]) { for (int row = 1 ; row <= 5 ; row++) { String str = ""; for (int term = 0 ; term < row ; term++) { str += ((row + 2) + row * term) + " "; } System.out.println(str); } System.out.println(); for (int row = 5 ; row >= 1 ; row--) { String str = ""; for (int term = 0 ; term < row ; term++) { str += ((row - 2) + row * term) + " "; } System.out.println(str); } }
Result:
3 4 6 5 8 11 6 10 14 18 7 12 17 22 27 3 8 13 18 23 2 6 10 14 1 4 7 0 2 -1
NOTE: I’m confident that the first line of the second set should end in 23
, not 22
as you show as the desired output.