黑马程序员技术交流社区
标题:
运行结果问题
[打印本页]
作者:
杨胜男
时间:
2014-6-7 21:37
标题:
运行结果问题
class ArrayTest
{class ArrayTest {
public static void main(String[] args)
{
//System.out.println("Hello World!");
int[] arr = {1,14,15,16};
getMin(arr);
System.out.println(arr[0]);
}
}
public static void getMin(int[] arr)
{
int min = 0;
for(int x=0; x<arr.length; x++)
{
if(arr[x]<=arr[min])
min = x;
min=0;
}
System.out.println(arr[1]);
}
}
//一个问题,打印最小值的时候总是显示14,换过好几轮,只要是从小到大顺序的数组,总是打印第二个数
作者:
王琪
时间:
2014-6-7 21:43
System.out.println(arr[min]);试试
public class java {
public static void main(String[] args)
{
//System.out.println("Hello World!");
int[] arr = {1,14,15,16};
getMin(arr);
System.out.println(arr[0]);
}
public static void getMin(int[] arr)
{
int min = 0;
for(int x=0; x<arr.length; x++)
{
if(arr[x]<=arr[min])
min = x;
min=0;
}
System.out.println(arr[min]);
}
}
复制代码
作者:
王琪
时间:
2014-6-7 21:57
我可能没理解您的问题;
我想到一个排序方法
public class java {
public static void main(String[] args)
{
//System.out.println("Hello World!");
int[] arr = {1,14,15,16};
getMin(arr);
System.out.println(arr[0]);
paixu(arr);
}
public static void getMin(int[] arr)
{
int min = 0;
for(int x=0; x<arr.length; x++)
{
if(arr[x]<=arr[min])
min = x;
min=0;
}
System.out.println(arr[min]);
}
public static void paixu(int[] arr){
int min;
for(int i=0 ;i<arr.length-1 ;i++ ){
for(int j=i+1 ;j<arr.length ;j++ ){
if(arr[j]<arr[i]){
min=arr[j];
arr[j]=arr[i];
arr[i]=min;
}
}
}
for(int i=0 ;i<arr.length ;i++ ){
System.out.print("从小到大排序"+arr[i]);
}
System.out.println();
}
}
复制代码
作者:
wangleixhlm
时间:
2014-6-7 22:14
在getMin方法中去掉min=0;,打印的时候System.out.println(arr[min]);
作者:
cain
时间:
2014-6-7 22:37
if(arr[x]<=arr[min])
min = x;
min=0;
你这么排序 有问题啊,搞不懂你为什么这么写 逻辑也很乱
作者:
杨胜男
时间:
2014-6-8 09:21
王琪 发表于 2014-6-7 21:57
我可能没理解您的问题;
我想到一个排序方法
问题解决了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2