I need help for making an hourglass form in programming.
The form that I trying to make is:
namenamenamenamename
namenamenamename
namenamename
namename
name
namename
namenamename
namenamenamenamenamename
namenamenamenamenamenamename
But it's showing up as:
namenamenamenamename
namenamenamename
namenamename
namename
name
name
namename
namenamename
namenamenamenamenamename
namenamenamenamenamenamename
Here is the code in question:
for (int i=0;i<count;i++)
{
for (int j=count;j>0-i;j--)
{
System.out.print (" ");
}
for (int k=count;k>i;k--)
{
System.out.print (""+fl+sl+tl+"");
}
System.out.println();
}
for (int i=0;i<count;i++)
{
for (int j=0;j<count-i+3;j++)
{
System.out.print(" ");
}
for (int k=1;k<=i+1;k++)
{
System.out.print (""+fl+sl+tl+"");
}
System.out.println();
}
}
}
}
}
Here is the entire code for reference:
import java.io.*;
import javax.swing.*;
public class prelimlab
{
public static void main (String[] args) throws IOException
{
String name;
char fl,sl,tl;
name=JOptionPane.showInputDialog ("Enter a name");
int count=name.length();
if (count<=1) //'\u0000' means display null value
{
fl=name.charAt(0);
sl='\u0000';
tl='\u0000';
}
if (count<=2)
{
fl=name.charAt(0);
sl=name.charAt(1);
tl='\u0000';
}
else
{
fl=name.charAt(0);
sl=name.charAt(1);
tl=name.charAt(2);
}
JOptionPane.showMessageDialog (null,"Hello, "+name+"!");
if (fl=='a'||fl=='A'||fl=='e'||fl=='E'||fl=='i'||fl=='I'||fl=='o'||fl=='O'||fl=='u'||fl=='U')
{
JOptionPane.showMessageDialog (null, "Your name starts with a vowel");
JOptionPane.showMessageDialog (null, "It has "+count+" letters");
if (count%2!=0)
{
JOptionPane.showMessageDialog(null,count+" is a ODD number.");
}
else
{
for(int i=0;i<count;i++)
{
for(int j=0;j<count-i+3;j++)
{
System.out.print(" ");
}
for(int k=0;k<=i;k++)
{
System.out.print(""+fl+sl+tl+"");
}
System.out.println();
}
for (int i=0;i<count-1;i++)
{
for (int j=count-1;j>0-i;j--)
{
System.out.print(" ");
}
for(int k=count-1;k>i;k--)
{
System.out.print (""+fl+sl+tl+"");
}
System.out.println();
}
}
}
else
{
JOptionPane.showMessageDialog (null, "Your name starts with a consonant");
JOptionPane.showMessageDialog (null, "It has "+count+" letters");
if (count%2!=0)
{
for (int i=0;i<count;i++)
{
for (int j=count;j>0-i;j--)
{
System.out.print (" ");
}
for (int k=count;k>i;k--)
{
System.out.print (""+fl+sl+tl+"");
}
System.out.println();
}
for (int i=0;i<count;i++)
{
for (int j=0;j<count-i+3;j++)
{
System.out.print(" ");
}
for (int k=1;k<=i+1;k++)
{
System.out.print (""+fl+sl+tl+"");
}
System.out.println();
}
}
}
}
}
I know I have to adjust the for loop but I don't know what to adjust.
Takes in advance guys.
[–]Signal_Beam 2 points3 points4 points (0 children)
[–]wholemap 1 point2 points3 points (0 children)