我有一个类,它创建多个Integer
对象,并将它们放入LinkedList
中,如下所示:
public class Shares<E> implements Queue<E> {
protected LinkedList<E> L;
public Shares() {
L = new LinkedList<E>();
}
public boolean add(E price) {
System.out.println("How many of these shares would you like?");
Scanner scanInt;
scanInt = new Scanner(System.in);
Integer noShares = scanInt.nextInt();
for (int i = 0; i < noShares; i++) {
L.addLast(price);
}
scanInt.close();
return true;
}
}
我有一个应用程序,它从控制台扫描输入“add”,如果找到,就调用add
方法,如下所示:
public class Application {
private static Scanner scan;
public static <E> void main(String[] args) {
Queue<Integer> S = new Shares<Integer>();
scan = new Scanner(System.in);
System.out.println("Please type add");
String sentence = scan.nextLine();
while (sentence.equals("quit") == false) {
if (sentence.equals("add")) {
System.out
.println("What price would you like to buy your shares at?");
S.add((Integer) scan.nextInt());
} else
System.exit(0);
sentence = scan.nextLine();
}
}
}
应用程序应该允许用户输入“add”,但在调用add
方法后,将出现错误“no line found”。
我猜这是因为方法中的扫描程序
没有关闭,然后在需要时重新打开。这是程序的问题吗?如果是,我该如何修复它?
请注意,这个程序还没有完成,因为我将添加一个出售这些股票的销售方法。这就是我使用while循环的原因。
对任何流都有多个包装器是一个很好的方法来真正混淆你自己。我建议您只包装一次流,除非您真正知道自己在做什么。
最简单的方法是在这种情况下使用一个单例来包装另一个单例(最好是在扫描器中传递一个参数)
public class Application {
// use this Scanner in all you other code, don't create another one.
static final Scanner scan = new Scanner(System.in);
public static <E> void main(String[] args) {
我猜这是因为方法中的扫描器尚未关闭
顺便说一句,不要在没有解释的情况下退出程序。调用system.exit(0);
甚至没有错误消息也是一场噩梦。我曾经在一个项目中工作过,该项目对System.exit()有260次调用,通常没有错误消息,您可以想象诊断一个服务器无缘无故地停止是多么有趣。
问题内容: 我有一个创建多个对象并将其放入一个类的类,如下所示: 我有一个从控制台扫描输入“ add”的应用程序,如果找到该应用程序,则调用如下所示的方法: 该应用程序应允许用户根据需要多次输入“添加”,但是在add调用该方法后将出现错误“找不到行” 。 我猜这是因为方法中的尚未关闭,然后在需要时重新打开。这是程序的问题吗?如果是,我将如何修复它? 请注意,该程序尚未完成,因为我将添加一种出售这些
问题内容: 据我所知,在Java中从文件读取基于字符的数据的两种最常见的方法是使用或。我也知道通过使用缓冲区来避免物理磁盘操作来有效地读取文件。我的问题是: 是否执行以及? 为什么你会选择在反之亦然? 问题答案: 用于从流的内容中解析令牌,而只是读取流,并且不执行任何特殊的解析。 实际上,你可以将传递给作为要解析的字符源。
我正在运行以下版本的声纳扫描: 蚂蚁v3。0.5 声纳v4。5.4 声纳蚂蚁任务v2。三, 我的ant项目包含100个子模块;其中大约一半有外部库,一半没有 在我的ant构建文件中,设置了以下声纳属性: 上面提到的最初问题是,对于没有外部lib的模块,它会失败,因为编译后/build/dependency中没有jar。 根据这个存档链接:http://sonarqube-archive.15.x6
问题内容: 如何将扫描仪的定界符设置为;或换行? 我试过: 但这不起作用。 问题答案: 通常,在模式中,您需要将翻倍。 所以,尝试 要么 编辑 :如果是问题,则可能要尝试以下操作: 它匹配的一个或多个,和。 注意 :我还没有尝试过这些。
问题内容: 我正在尝试读取具有多个单词的字符串,即。洛杉矶或纽约市。如果有两个词并将它们分割在变量之间,则使用scanner.next()进行“出发”和“到达”只会读取第一个。nextLine()也不是很幸运。这是我的代码: 我知道这很简单,但我还没有弄清楚。 这是上面的代码的输入/输出: 输入航班号:29 输入出发城市:(立即跳至下一行) 输入到达城市: -—我真正想要的是---- 输入航班号:
Multi Threaded TCP Port Scanner 可让你扫描某个IP地址的所有TCP端口,可指定要扫描的线程数以及超时时间设置。可用于扫描某台机器打开了什么端口。