恒拓开源的一道面试题

孤云何处闲 2013-06-30 01:13:38
1,请编码实现以下功能:
输入:0-9任意1个整数
输出:n*(n-1)*(n-2)...*1
(n-1)*(n-2)*1

...
1

例如:输入3
输出:3*2*1
2*1
1
...全文
304 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ahxuemei 2013-07-01
  • 打赏
  • 举报
回复
4楼循环部分没必要那么绕,可读性不好,修改见下: for (int i =num ; i >0 ; i--){ StringBuffer str = new StringBuffer(num); for (int j = (num-1); j>0 ; j--){ str.append('*'+j); } System.out.println(str.toString()); }
Torrice 2013-07-01
  • 打赏
  • 举报
回复
		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();
		}
浴氷夫斯基 2013-06-30
  • 打赏
  • 举报
回复
#5 容错也做了,应该可以结了。这题目没太大意思= =
toby20113582 2013-06-30
  • 打赏
  • 举报
回复
高手啊 都是高手
starnight_cyber 2013-06-30
  • 打赏
  • 举报
回复
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) ;
			}
		}
	}
}
茫茫大海 2013-06-30
  • 打赏
  • 举报
回复
上面一个写的有点问题,下面是改进后的程序。

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();
		}
	}

}
rumlee 2013-06-30
  • 打赏
  • 举报
回复
这题也太简单了吧,这是面试什么工作啊。
茫茫大海 2013-06-30
  • 打赏
  • 举报
回复

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();
		}
	}

}
蚂蚁看星空 2013-06-30
  • 打赏
  • 举报
回复

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧