恒拓开源的一路面试题

恒拓开源的一道面试题本帖最后由 zxc_software 于 2013-06-30 01:15:28 编辑1,请编码实现以下功能:输入:0-

恒拓开源的一道面试题
本帖最后由 zxc_software 于 2013-06-30 01:15:28 编辑 1,请编码实现以下功能:
输入:0-9任意1个整数
输出:n*(n-1)*(n-2)...*1
        (n-1)*(n-2)*1

...
      1

 例如:输入3
 输出:3*2*1
         2*1
          1
面试题 编码
[解决办法]


import java.util.Scanner;

public class Main {

public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入一个0-9之间的数:");
int num = input.nextInt(10);

for (int i = num; i > 0; i--) {
for (int j = i; j > 0; j--) {
if (j > 1) {
System.out.print(j + "*");
} else {
System.out.print(j);
}
}
System.out.println();
}
}

}

[解决办法]
上面一个写的有点问题,下面是改进后的程序。

import java.util.Scanner;

public class Main {

public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入一个0-9之间的数:");
int num = input.nextInt();
if(num >= 10 
[解决办法]
 num < 0) {
System.out.println("请输入0-9之间的数!");
return;
}

for (int i = num; i > 0; i--) {
for (int j = i; j > 0; j--) {
if (j > 1) {
System.out.print(j + "*");
} else {
System.out.print(j);
}
}
System.out.println();
}
}

}

------解决方案--------------------


import java.util.Scanner ;
public class Test {
public static void main(String[] args){
Scanner in = new Scanner(System.in) ;
System.out.print("please input an integer between 0 and 9:") ;
int n = in.nextInt();
if(n < 0 
[解决办法]
 n >9){
System.out.println("-----Error:number must between 0 and 9-----") ;
}else{
for(;n>=1;n--){
StringBuffer str = new StringBuffer("") ;
str.append(n) ;
for(int i = n-1;i>=1;i--){
str.append("*").append(i) ;
}
System.out.println(str) ;
}
}
}
}

[解决办法]
Scanner input = new Scanner(System.in);
int num = -1 ;
while(true){
System.out.println("请输入0-9之间的一个整数:");
num = input.nextInt();
if (num >= 0 && num <= 9 ) 
break;
}
for (int i =num ; i >0 ; i--){

for (int j = i; j>0 ; j--){

if (j == 1)
System.out.print(j);
else
System.out.print(j + "*");
}
System.out.println();
}