In: Computer Science
Please don't just copy another solution.
Write the following Java program:
public static String getFlag(int size, char color1, char color2,
char color3) - This method returns a string where a triangle
appears on the left size of the diagram, followed by horizontal
lines. For example, calling DrawingApp.getFlag(9, 'R', '.', 'Y');
will generate the string:
R............................................
RRYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
RRRYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
RRRRYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
RRRRRYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
RRRRRRYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
RRRRRRRYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
RRRRRRRRYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
RRRRRRRRR....................................
RRRRRRRRR....................................
RRRRRRRRYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
RRRRRRRYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
RRRRRRYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
RRRRRYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
RRRRYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
RRRYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
RRYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
R............................................
The diagram has a number of rows that corresponds to size * 2 and a number of colums that corresponds to size * 5. The first and last row will use color2 (except for the first character that will use color1). The center two rows will use color2 and the rest color3. The triangle will rely on color1 and will have a height corresponding to size * 2. If the size parameter is less than three, the method will return null and will not generate any diagram. For this method you can assume the colors are valid. The method MUST not rely on System.out.println().
Main.java
public class Main {
public static void main(String[] args) {
//calling the function and printing
the output
String output =
DrawingApp.getFlag(9, 'R', '.', 'Y');
System.out.println(output);
}
}
DrawingApp.java
public class DrawingApp {
public static String getFlag(int size, char color1,
char color2, char color3) {
//return and temporary string
String returnString = "";
String temp1 = "";
String temp2 = "";
//for rows
for(int i=0;i<size;i++) {
temp1 =
"";
//for
columns
for(int
j=0;j<size*5;j++) {
//for color 1
if(j<=i){
temp1 += color1;
}else if(i==0 || i==size-1) { //1st and last
rows is color 2
temp1 += color2;
}else { //other rows is color 3
temp1 += color3;
}
}
returnString+=temp1+"\n"; //first half with correct order
temp2=temp1+"\n"+temp2; //reversed order string for 2nd half
}
returnString+=temp2+"\n";
//combining two halves
return returnString;
}
}
Sample Output: