恒拓开源的一道面试题本帖最后由 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();
}
