首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

使用GUI技术输出用星号(*)表示的一个长方形,但结果却没有对齐,如何解决,是因为星号“×”和空格“ ”大小不一样吗

2013-03-10 
使用GUI技术输出用星号(*)表示的一个长方形,但结果却没有对齐,怎么解决,是因为星号“×”和空格“ ”大小不一样

使用GUI技术输出用星号(*)表示的一个长方形,但结果却没有对齐,怎么解决,是因为星号“×”和空格“ ”大小不一样吗
[img=http://][/img]

import javax.swing.JOptionPane;

public class Title2_20 {

/**
 * @param args
 */
public static void main(String[] args) {
//声明变量
       int a,b,i,j;
       String str1,str2,result;
       String num[][];
       //使用GUI技术提示用户输入数据
       str1=JOptionPane.showInputDialog("输入长方形的长:");
       str2=JOptionPane.showInputDialog("输入长方形的宽:");
       //将String转变为整数
       a=Integer.parseInt(str1);
       b=Integer.parseInt(str2);
       
       result="你输入的长方形的长,宽为:"+a+", "+b+"\n";
       //初始化数组
       num=new String[b][a];
       //对数组对行星号(*)赋值
      for(i=0;i<b;i++)
       {
       
       for(j=0;j<a;j++)
       {
       if(i==0) num[0][j]="*";
       else if(i==b-1) num[i][j]="*";
       else{
       if(j==0||j==a-1)
               num[i][j]="*";
       else num[i][j]=" ";  //对没有赋星号(*)的数组,进行空格赋值,否则就默认为null
            }
       }
      
       }
     //进行结果输出操作,将数组赋值给String类型的result。 
      for(i=0;i<b;i++)
       {
       for(j=0;j<a;j++)
       result=result+" "+num[i][j];
       result=result+"\n";
       }
       //使用GUI技术显示结果。
       JOptionPane.showMessageDialog(null, result,"结果",JOptionPane.INFORMATION_MESSAGE);
       System.exit(0);
}

}
但输出结果是这样:
你输入的长方形的长,宽为:5,5
 *****
 *  *
 *  *
 *  *
 *****
我想要的结果是这样的
*****
*    *
*    *
*    *
*****
为什么出现这种问题呢
[解决办法]
这好像也分不同字体的,都用全角的试试呢。。。

热点排行