import java.util.*;public class ElecGraph {
/**
 * 获得数字的电子图像
 * @param i 数字
 * @return 数字对应的图像
 */
public String getGraph(int i) {
String graph = "";
if (i != 1 && i != 4) {
graph = graph + " _";
}
if (i == 4 || i == 5 || i == 6 || i == 8 || i == 9) {
graph = graph + "\n|";
} else {
graph = graph + "\n ";
}
if (i != 1 && i != 7) {
graph = graph + "_";
} else {
graph = graph + " ";
}
if (i != 5 && i != 6) {
graph = graph + "|";
} if (i == 2 || i == 6 || i == 8) {
graph = graph + "\n|";
} else {
graph = graph + "\n ";
}
if (i != 1 && i != 4 && i != 7) {
graph = graph + "_";
} else {
graph = graph + " ";
}
if (i != 2) {
graph = graph + "|";
}
return graph;
} public static void main(String[] args) {
ElecGraph ng = new ElecGraph();
Scanner input = new Scanner(System.in);
System.out.print("请输入一个数字: ");
int num = input.nextInt();
System.out.println("电子图像是: ");
System.out.println(ng.getGraph(num)); }
}
这道题目是把数字转化为电子图象,但是只能输出1-9的数字的电子图象 要怎么改才能让它输出十位和百位
求大大们教教我

解决方案 »

  1.   

    最后不要println就不会换行了.
      

  2.   

    把你的:
    System.out.println("电子图像是: "); 
    System.out.println(ng.getGraph(num)); 
    改成:
    String s;
    s=String.valueOf(num);
    System.out.println("电子图像是: "); 
    while(s.length()>0)
    {
    System.out.print(ng.getGraph(Integer.parseInt(s.substring(0,1))));
    s=s.substring(1);
    }
    System.out.println();
      

  3.   

    是的,或者,你可以再写一个函数
    传入N位数字(String)型,
    然后,循环调用你的方法,返回一个String型的电子图像表达式