刚开始学习Java,这个问题解决不了,麻烦帮下忙,谢谢!

紫色动力 2016-05-10 11:42:50

正在看这本书,若第28页的代码:如下

package com.test4;
import java.util.*;
import java.io.*;

public class BinarySearch {

/**
* @param args
*/
public static int rank(int key, int[] a)
{
//数组必须是有序的
int lo = 0;
int hi = a.length - 1;

while(lo <= hi)
{
//被查找的键要么不存在,要么必然存在于a[lo..hi]之间
int mid = lo + (hi - lo) / 2;
if(key < a[mid])
{
hi = mid - 1;
}
else if(key > a[mid])
{
lo = mid + 1;
}
else
{
return mid;
}
}
return -1;
}

public static void main(String[] args) {
// TODO Auto-generated method stub
int[] whitelist = In.readInts(args[0]);
Arrays.sort(whitelist);
while(!StdIn.isEmpty())
{
int key = StdIn.readInt();
if(ank(key.whitelist) < 0)
{
StdOut.println(key);
}
}
}

}


主函数中的”In“是哪的?编译器会划上红线。还有,主函数中”while“语句中的"StdIn"是哪个包中的?我没有”import“吗?
我初学,不胜感激!
...全文
193 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
紫色动力 2016-05-11
  • 打赏
  • 举报
回复
引用 4 楼 qnmdcsdn 的回复:
我很好奇他在里边封装了什么,为毛不直接用System.in/System.out
我也是这么想的。直接System.out.println()多好啊!
  • 打赏
  • 举报
回复
引用 2 楼 Purplepower 的回复:
[quote=引用 1 楼 m2200 的回复:] jdk里没这两个类(In、StdIn),看样子像是它自定义的,你仔细看看前后文章,有没有自定义的这两个类。
书上说要下个“StdOut.java"文件,我已经下了,另外还有一个algs5.jar。这两个文件我都下了,把他们放到哪呢?放到”D:\Program Files\Java\jre1.8.0_92\bin“下吗? 那我怎么”import “引入呢?谢谢![/quote] 跟BinarySearch放在一个目录下
  • 打赏
  • 举报
回复
我很好奇他在里边封装了什么,为毛不直接用System.in/System.out
爱睡觉的阿狸 2016-05-11
  • 打赏
  • 举报
回复
用的eclipse吧,把jar复制到项目的某个文件夹中,最好新建个lib文件夹,然后在eclipse界面左击jar文件,build path》》add to build path。 StdOut.java放到同级目录下,这样你就不需要import了。
紫色动力 2016-05-11
  • 打赏
  • 举报
回复
引用 1 楼 m2200 的回复:
jdk里没这两个类(In、StdIn),看样子像是它自定义的,你仔细看看前后文章,有没有自定义的这两个类。
书上说要下个“StdOut.java"文件,我已经下了,另外还有一个algs5.jar。这两个文件我都下了,把他们放到哪呢?放到”D:\Program Files\Java\jre1.8.0_92\bin“下吗? 那我怎么”import “引入呢?谢谢!
爱睡觉的阿狸 2016-05-11
  • 打赏
  • 举报
回复
jdk里没这两个类(In、StdIn),看样子像是它自定义的,你仔细看看前后文章,有没有自定义的这两个类。

62,628

社区成员

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

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