A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 695010894 于 2016-3-24 23:24 编辑

我单独拿出来新建一个java文件又可以了出结果,半天没搞懂 什么原因。。
  1. class BubbleTest
  2. {
  3. //打印排好序的数组。
  4. public static void printarr(int[] arr)
  5. {
  6. System.out.print("[");
  7. for (int x=0; x<arr.length ;x++)
  8. {
  9. if (x!=arr.length-1)
  10. System.out.print(arr[x]+", ");
  11. else
  12. System.out.print(arr[x]+"]");
  13. }
  14. }
  15. /*位置置换功能抽取*/
  16. public static void swap(int[] arr,int a, int b)
  17. {
  18. int temp = arr[a];
  19. arr[a] = arr[b];
  20. arr[b] = temp;
  21. }
  22. /*
  23. 定义一个函数比较,输入输出为数组的角标,利用循环嵌套使相邻元素进行比较
  24. */
  25. public static void bubble(int[] arr)
  26. {
  27. for (int x =0; x <arr.length-1; x++ )
  28. {
  29. for (int y =0; y <arr.length-x-1; y++ )
  30. {
  31. if (arr[y] > arr[y+1])
  32. {
  33. swap(arr, y, y+1);
  34. //int temp=arr[y];
  35. //arr[y]= arr[y+1];
  36. //arr[y+1]=temp;
  37. }
  38. }
  39. }
  40. return;
  41. }
  42. public static void main(String[] args) //主函数调用,进行冒泡排序。
  43. {
  44. int[] arr={2,4,5,1,6,10,32,21,7,5};
  45. printarr(arr);//排序前
  46. System.out.println();
  47. bubble(arr);//排序
  48. printarr(arr);
  49. }
  50. }

  51. //数组的查找

  52. class ArrayTest1
  53. {
  54. public static void main(String[] args)
  55. {
  56. //查找函数的调用。
  57. int[] arr={2,4,5,1,6,10,32,21,7,5};
  58. int index=getIndex(arr,6);
  59. System.out.println("index="+index);
  60. }
  61. //查找函数。
  62. public static int getIndex(int[] arr, int key)
  63. {
  64. for (int x=0; x<arr.length; x++ )
  65. {
  66. if (arr[x]==key)
  67. return x;
  68. }
  69. return -1;//该key在数组中不存在。
  70. }

  71. }

  72. //折半查找。
  73. /*
  74. 效率比较高,但是必须保证该数组是有序的。
  75. */
  76. class ArrayTest2
  77. {
  78. public static void main(String[] args)
  79. {
  80. int[] arr={1,3,4,5,7,8,9,11,23,25};
  81. int index=halfsearch(arr,9);
  82. System.out.println("index="+index);

  83. }

  84. public static int halfsearch(int[] arr, int key)
  85. {
  86. int min,mid,max;
  87. min=0;
  88. max=arr.length-1;
  89. mid=(min+max)/2;
  90. while (arr[mid]!=key)
  91. {
  92. if (key>arr[mid])
  93. min=mid+1;
  94. else if (key<arr[mid])
  95. max=mid-1;
  96. else if(min>max)
  97. return -1;
  98. mid=(max+min)/2;
  99. }
  100. return mid;
  101. }
  102. }
  103. //进制转化,二进制。
  104. class ArrayTest3
  105. {
  106. public static void main(String[] args)
  107. {
  108. toHex(60);
  109. }

  110. public static void trans(int num,int base, int offset) //进制转换函数。
  111. {
  112. if(num==0)
  113. {
  114. System.out.println(0);
  115. return ;
  116. }
  117. char[] chs={'0','1','2','3'
  118. ,'4','5','6','7'
  119. ,'8','9','A','B'
  120. ,'C','D','E','F'};
  121. char[] arr=new char[32];
  122. int pos=arr.length;
  123. while (num!=0)
  124. {
  125. int temp = num & base;
  126. arr[--pos] = chs[temp];
  127. num = num>>>offset;
  128. }
  129. for (int x=pos; x<arr.length; x++)
  130. {
  131. System.out.print(arr[x]);
  132. }
  133. }
  134. //二进制
  135. public static void toBin(int num)
  136. {
  137. trans(num,1,1);
  138. }
  139. //八进制
  140. public static void toBa(int num)
  141. {
  142. trans(num,7,3);
  143. }
  144. //16进制
  145. public static void toHex(int num)
  146. {
  147. trans(num,15,4);
  148. }
  149. }
  150. //问题,为什么ArrayTest1,ArrayTest2都能加载而ArrayTest3无法加载?
复制代码

解决了:是我之前添加了class ArrayTest3在BubbleTest.java 文件中,保存后他给我生成了一个BubbleTest.java.bak并且保存在里面,结果就是上描述的问题,这个ArrayTest3根本没保存在BubbleTest.java中,所以无法加载。。

12 个回复

倒序浏览
真是日了狗了- -

QQ截图20160323114619.png (71.94 KB, 下载次数: 39)

QQ截图20160323114619.png
回复 使用道具 举报
太小了 看不清楚  别截图 直接复制代码吧
回复 使用道具 举报
真的看不清
回复 使用道具 举报
哥们,真看不清,下次直接把代码复制上来,
回复 使用道具 举报
应该是文件名的问题
回复 使用道具 举报
lixianglei 发表于 2016-3-23 20:55
太小了 看不清楚  别截图 直接复制代码吧

代码来了  第110行就是无法加载的目标程序。
回复 使用道具 举报
naiheqiao168 发表于 2016-3-23 23:08
哥们,真看不清,下次直接把代码复制上来,

代码来了  第110行就是无法加载的目标程序。
回复 使用道具 举报
unexpectedman 发表于 2016-3-23 23:15
应该是文件名的问题

代码来了  第110行就是无法加载的目标程序。
回复 使用道具 举报
我觉得你应该把ArrayTest1,ArrayTest2,ArrayTest3定义成方法  不应该写成类  可以新建一个数组工具类,ArrayTest1,ArrayTest2,ArrayTest3定义成方法
回复 使用道具 举报
忘了说了,在我的电脑上试了下 你这个程序ArrayTest3是可以编译通过的 也能运行  结果是3C
回复 使用道具 举报
Joschi 发表于 2016-3-24 17:38
忘了说了,在我的电脑上试了下 你这个程序ArrayTest3是可以编译通过的 也能运行  结果是3C ...


我又试了一下 还是不行。。你是直接复制代码下来运行的吗?
回复 使用道具 举报
Joschi 发表于 2016-3-24 17:38
忘了说了,在我的电脑上试了下 你这个程序ArrayTest3是可以编译通过的 也能运行  结果是3C ...

解决了,看我一楼,这个问题也是醉了。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马