Write a program named Symmetry.java, within this class, define a method symmetri
ID: 3848776 • Letter: W
Question
Write a program named Symmetry.java, within this class, define a method
symmetricNumber method that accepts an integer n as a parameter and prints
a symmetric sequence of n numbers with descending integers ending in 1 followed by
ascending integers beginning with 1, as in the table below:
Call Output
symmetricNumber(1); 1
symmetricNumber(2); 1 1
symmetricNumber(3); 2 1 2
symmetricNumber(4); 2 1 1 2
symmetricNumber(5); 3 2 1 2 3
symmetricNumber(6); 3 2 1 1 2 3
symmetricNumber(7); 4 3 2 1 2 3 4
symmetricNumber(8); 4 3 2 1 1 2 3 4
symmetricNumber(9); 5 4 3 2 1 2 3 4 5
symmetricNumber(10); 5 4 3 2 1 1 2 3 4 5
Notice that for odd numbers the sequence has a single 1 in the middle while for even values
it has two 1s in the middle. Include main method in this class and test your method with the following calls:
symmetricNumber(1)
symmetricNumber(2)
symmetricNumber(5)
symmetricNumber(6)
symmetricNumber(9)
symmetricNumber(10)
symmetricNumber(12)
Explanation / Answer
The program with class Symmetry, which define a method called symmetricNumber method that accepts an integer n as a parameter and prints a symmetric sequence of n numbers with descending integers ending in 1 followed by ascending integers beginning with 1.the java programming code
for odd numbers the sequence has a single 1 in the middle while for even values it has two 1s in the middle. it Includes main method in this class and test method with the following calls:
symmetricNumber(1)
symmetricNumber(2)
symmetricNumber(5)
symmetricNumber(6)
symmetricNumber(9)
symmetricNumber(10)
symmetricNumber(12) is the java programming code is:
public class Symmetry
{
public static void symmetricNumber(int n) {
if( n < 1 )
throw new IllegalArgumentException();
if( n == 1 ) {
System.out.println("1");
} else if( n == 2 ) {
System.out.println("1 1");
} else if( n % 2 == 0 ){
System.out.print((n / 2) + " ");
symmetricNumber(n - 2);
System.out.println(" " + (n / 2));
} else if( n % 2 == 1 ) {
System.out.print(((n + 1) / 2) + " ");
symmetricNumber((n - 2));
System.out.println(" " + ((n + 1) / 2));
}
}
public static void main(String []args)
{
Symmetry s=new Symmetry();
s.symmetricNumber(1);
s.symmetricNumber(2);
s.symmetricNumber(5);
s.symmetricNumber(6);
s.symmetricNumber(9);
s.symmetricNumber(10);
s.symmetricNumber(12);
}
}
the sample output is:
1
1 1
3 2 1
2
3
3 2 1 1
2
3
5 4 3 2 1
2
3
4
5
5 4 3 2 1 1
2
3
4
5
6 5 4 3 2 1 1
2
3
4
5
6
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.