黑马程序员技术交流社区

标题: 遇到一个面试题求高人解答 [打印本页]

作者: 奶茶妹ltt    时间: 2014-6-30 22:25
标题: 遇到一个面试题求高人解答
1. 编一个程序,输入10个整数,并放在数组中,先降序输出所有的数,再统计并输出其中正数、负数和零的个数
作者: 来自沙沙的我    时间: 2014-6-30 22:42
这个不难吧,先进行排序然后通过if语句比较。
作者: on-on    时间: 2014-7-1 10:33
这个不难,要自己写出来,定义三个标志位flag1,flag2,flag3,用于标记正数负数和零的个数,一个排序算法,排序过程中加判断
{
if(array[i]>0)
     flag1++;
if(array[i]<0)
     falg2++
if(array[i]==0)
     flag3++
}
作者: 奋斗2014    时间: 2014-7-1 11:06
我觉得这个可用io流的方式做,获取键盘输入的数据,然后排序做判断。
作者: 燿陚√揚葳    时间: 2014-7-1 13:35
  1. public class Demo {
  2. private String[] arr;
  3. public void getInput(){
  4. System.out.println("请输入一个数字串,并以逗号隔开:");
  5. Scanner scanner = new Scanner(System.in);
  6. String input = scanner.nextLine();
  7. arr = input.split(",");
  8. sort();
  9. method();
  10. }
  11. //为数组冒泡排序
  12. public void sort(){
  13. for(int x=0;x<arr.length-1;x++){
  14. for(int y=0;y<arr.length-x-1;y++){//-x:让每一次比较的元素减少 -1:避免角标越界
  15. //要比较大小所以要先转换成Integer类型
  16. if(Integer.valueOf(arr[y])<Integer.valueOf(arr[y+1])){
  17. swap(y,y+1);//满足条件的换位置
  18. }
  19. }
  20. }
  21. printmethod();

  22. }
  23. //打印数组
  24. public void printmethod(){
  25. System.out.print("{");
  26. for (int x = 0;x<arr.length;x++){
  27. if(x!=arr.length-1)
  28. System.out.print(arr[x]+",");
  29. else
  30. System.out.println(arr[x]+"}");
  31. }
  32. }
  33. //统计所输入数字的正数,负数及零的个数
  34. public void method(){
  35. int count=0;
  36. int count1=0;
  37. int count2=0;
  38. for (int x = 0;x<arr.length;x++){
  39. if(Integer.valueOf(arr[x])<0)
  40. count++;
  41. else if(Integer.valueOf(arr[x])>0){
  42. count1++;
  43. }
  44. else
  45. count2++;
  46. }
  47. System.out.println("正数个数为:"+count1);
  48. System.out.println("负数个数为:"+count);
  49. System.out.println("零的个数为:"+count2);

  50. }
  51. //为数组换位置
  52. public void swap(int a,int b){
  53. String temp;
  54. temp = arr[a];
  55. arr[a] = arr[b];
  56. arr[b] = temp;
  57. }
  58. public static void main(String[] args)throws Exception {
  59. Demo d = new Demo();
  60. d.getInput();

  61. }
  62. }
复制代码
你看看有没有什么问题?

作者: dispensable    时间: 2014-7-1 14:07
楼上写很好……最好是在接收输入的时候判断输入的是否是整数……不然会抛数字转换异常




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2