标题:帮我看看这个程序那里错了(j2se)?
只看楼主
guchao2009
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:101
专家分:106
注 册:2009-4-13
结帖率:77.78%
已结贴  问题点数:20 回复次数:3 
帮我看看这个程序那里错了(j2se)?
题目要求:用折半查找法判断一个从键盘上输入的数是否在某个数组中。

代码:mport java.util.*;
public class SortFind {
    public static void main(String args[]) {
        int n=0, low, high, middle;
        System.out.println("从键盘输入一个整数,程序将判断该数是否在一个数组中");
        int a[] = {12,34,9,-23,45,6,45,90,123,19,34};
        Arrays.sort(a);   
        Scanner reader = new Scanner(System.in);
            while(reader.hasNextInt()){
        n = reader.nextInt();
                low = 0;
        high= a.length;
        middle = (low + high)/2;
        while (low<=high) {
            middle = (low + high)/2;
            if (n == a[middle] ) {
                System.out.println(n + "是数组中的元素");
                break;
            } else if (n < a[middle]) {
                high=a[middle]-1;
            } else {
                low=a[middle]+1;
            }
        }
        if (low==high) {
            System.out.println(n + "不在数组中");
        }
 }
    System.out.println("\n可继续输入整数,或输入非整数结束程序");
      
    System.out.println("你输入的数据不是整数");
    }
}
搜索更多相关主题的帖子: 键盘 class public middle 
2010-04-02 23:01
baifenghan
Rank: 8Rank: 8
等 级:贵宾
威 望:10
帖 子:258
专家分:952
注 册:2006-3-17
得分:15 
  while (low<=high) {
            middle = (low + high)/2;
            if (n == a[middle] ) {
                System.out.println(n + "是数组中的元素");
                break;
            } else if (n < a[middle]) {
                high=a[middle]-1;    //high = middle - 1;
            } else {
                low=a[middle]+1;     //high = middle + 1;
            }
        }

这里是改变下标的。
2010-04-02 23:41
lampeter123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:54
帖 子:2508
专家分:6424
注 册:2009-1-30
得分:5 
顶LS

你的优秀和我的人生无关!!!!
    
    我要过的,是属于我自己的生活~~~
2010-04-03 08:43
guchao2009
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:101
专家分:106
注 册:2009-4-13
得分:0 
刚学完C++,java还是起步阶段。呵呵!谢谢~
2010-04-04 23:26



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-301478-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.323304 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved