import java.util.Scanner的每一部分的含义
时间: 2024-05-23 08:09:53 浏览: 14
import:关键字,用于将外部代码库中的类引入到当前的Java程序中使用。
java.util:Java的内置库,该部分指定了要使用的库的名称和位置。
Scanner:一个类,用于读取控制台输入或文件输入。
最后的部分没有什么特别的含义。这行代码的意思是将Java的Scanner类从java.util包中导入到当前的Java程序中。
相关问题
import java.io.*; import java.net.ServerSocket; import java.net.Socket; import java.util.Scanner;
这是一个Java程序的头文件部分,包含了需要导入的几个类。其中`java.io.*`是用于输入输出的类库,`java.net.ServerSocket`和`java.net.Socket`是用于网络通讯的类库,`java.util.Scanner`是用于读取控制台输入的类库。这些类库可以帮助我们实现基于TCP协议的通讯录系统的功能。
package step1; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Scanner; public class Client { public static void main(String[] args) { List products = new ArrayList<String>(); Scanner scanner = new Scanner(System.in); int nums = scanner.nextInt(); for (int i = 0; i < nums; i++) { products.add(scanner.next()); } /********** Begin *********/ ///请用java自带的iterator实现products的正向遍历访问 /********** End *********/ System.out.println("--------------------"); /********** Begin *********/ ///请用自定义的iterator实现products的反向遍历访问 /********** End *********/ } }
以下是对应的代码:
```
package step1;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Scanner;
public class Client {
public static void main(String[] args) {
List<String> products = new ArrayList<String>();
Scanner scanner = new Scanner(System.in);
int nums = scanner.nextInt();
for (int i = 0; i < nums; i++) {
products.add(scanner.next());
}
/********** Begin *********/
//请用java自带的iterator实现products的正向遍历访问
Iterator<String> it = products.iterator();
while(it.hasNext()) {
System.out.println(it.next());
}
/********** End *********/
System.out.println("--------------------");
/********** Begin *********/
//请用自定义的iterator实现products的反向遍历访问
ReverseIterator<String> reverseIt = new ReverseIterator<String>(products);
while(reverseIt.hasNext()) {
System.out.println(reverseIt.next());
}
/********** End *********/
}
}
class ReverseIterator<E> implements Iterator<E> {
private List<E> list;
private int curr;
public ReverseIterator(List<E> list) {
this.list = list;
this.curr = list.size() - 1;
}
public boolean hasNext() {
return curr >= 0;
}
public E next() {
E ret = list.get(curr);
curr--;
return ret;
}
public void remove() {
throw new UnsupportedOperationException();
}
}
```
第一部分使用了Java自带的Iterator来实现正向遍历访问。
第二部分使用了自定义的ReverseIterator来实现反向遍历访问。需要注意的是,自定义的Iterator需要实现Iterator接口,包括hasNext()和next()两个方法。此外,因为本题只需要实现遍历访问,所以remove()方法可以直接抛出UnsupportedOperationException。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)