今天用Java编了个小程序练练手,开发环境是eclipse,其中遇到一个奇怪的现象,在String类型里面,键盘输入一个空格与一个数字在图形界面输出后占用的空间是不一样宽的,结果我怎么也不能上下对齐。然后用两个空格差不多与一个数字相同了,可是也只是差不多,奇怪啊,怎么会这样呢?
到底是怎么回事呢?有空再去研究研究吧:)
图贴不上就附上代码吧:
import javax.swing.JOptionPane;
public class GraphicsOfNumber {
/**
* @param args
*/
public static void main(String[] args) {
String numString = JOptionPane.showInputDialog(null,
"Please enter a number : ",
"Input",JOptionPane.QUESTION_MESSAGE);
int num = Integer.parseInt(numString);
//ShowGraphicsA(num);
//ShowGraphicsB(num);
//ShowGraphicsC(num);
ShowGraphicsD(num);
System.exit(0);
}
public static void ShowGraphicsA(int num){
String str="";
for (int i = 1;i <= num;i++){
for (int j = 1;j <= i;j++)
str+=j;
str+="/n";
}
JOptionPane.showMessageDialog(null,str,
"Result",JOptionPane.INFORMATION_MESSAGE);
}
public static void ShowGraphicsB(int num){
String str="";
for (int i = num;i > 0;i--){
for (int j = 1;j <= i;j++)
str+=j;
str+="/n";
}
JOptionPane.showMessageDialog(null,str,
"Result",JOptionPane.INFORMATION_MESSAGE);
}
public static void ShowGraphicsC(int num){
String str="";
for (int i = 1;i <= num;i++){
for (int k=num;k > i;k--)
str += " ";
for (int j = i;j > 0;j--)
str+=j;
str+="/n";
}
JOptionPane.showMessageDialog(null,str,
"Result",JOptionPane.INFORMATION_MESSAGE);
}
public static void ShowGraphicsD(int num){
String str="";
for (int i = num;i >= 1;i--){
for (int k=num;k > i;k--)
str += " ";
for (int j = 1;j <= i;j++)
str+=j;
str+="/n";
}
JOptionPane.showMessageDialog(null,str,
"Result",JOptionPane.INFORMATION_MESSAGE);
}
}