我想知道为什么我的Java程序在控制台工作,当我做:
javac Main.java
Java美因河
...而不是在Eclipse中,因为我有这个错误:
线程“main”java.lang.NullPointerException在codepin.main.main(main.java:48)-->char passwordarray[]=console.readpassword(“enter pin:”);
这是我的代码:
package codePin;
import java.io.*;
import java.util.*;
public class main {
static public boolean readPinsData(File dataFile, ArrayList<Integer> data) {
boolean err = false;
try {
Scanner scanner = new Scanner(dataFile);
String line;
while (scanner.hasNext()) {
line = scanner.nextLine();
try {
data.add(Integer.parseInt(line));
} catch (NumberFormatException e) {
e.printStackTrace();
err = true;
}
}
scanner.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
err = true;
}
return err;
}
public static void main(String[] args) {
System.out.println("-----------------------");
System.out.println("APPLICATIONS BESOINS");
System.out.println("-----------------------");
Console console = System.console();
System.out.println(console == null);
int pinSize = 0;
int nbTry = 0;
boolean authenticated = false;
do {
do {
char passwordArray[] = console.readPassword("Enter pin: "); //This is the line causing the error
pinSize = passwordArray.length;
if (pinSize != 4) {
System.out.println("Pin must be 4 digits");
} else {
System.out.println("Checking...");
}
ArrayList<Integer> pins = new ArrayList<Integer>();
readPinsData(new File("bdd.txt"), pins);
String[] thePins = new String[pins.size()];
for (int i = 0; i < thePins.length; i++) {
thePins[i] = pins.get(i).toString();
}
String passEntered = String.valueOf(passwordArray);
for (int i = 0; i < thePins.length; i++) {
if (passEntered.equals(thePins[i]) && pinSize == 4) {
System.out.println(":)");
authenticated = true;
break;
}
}
} while (pinSize != 4);
if (!authenticated && pinSize == 4) {
System.out.println(":(");
nbTry++;
}
} while (nbTry < 3 && !authenticated);
}
}
正如您所看到的,我在公共静态void main方法的乞求下添加了system.out.println(console==null);
来进行检查,它实际上在控制台中返回true。
所以我的问题是:如何在Eclipse中初始化控制台,使我的代码能够工作?谢谢你
这是因为system.Console()
将返回与当前Java虚拟机关联的唯一控制台对象(如果有的话),而eclipse没有唯一的控制台。
您应该尝试使用scanner
或system.in
获取控制台输入
请建议如何解决这个问题。我被困在这里了。 下面是错误信息; null
我正在尝试制作两个程序。我希望一个打印我居住的城市的当前天气,我希望另一个从一个在线帐户获取数据并返回它。对于这些脚本,我导入了天气模块和请求模块。当我在shell中导入它们时,没有问题,但是当我运行脚本时,它说“ImportError:No module name you weather”。我做错了什么? 壳牌: 脚本: 这也适用于“天气”模块 谢谢你
我已经连接了我的Windows10和linux机器。我想远程关闭我的Windows10电脑从我的Linux。然而,当我使用下面的Java程序时,它并没有关掉我的窗户。我试过用 相反,在程序中输出命令,但我得到了相同的结果。 输出
我正在尝试执行GET命令,以便我可以从服务器获取数据。下面的Curl适用于Postman。 在运行我的代码时,我能够获取会话ID。下一步是获取数据。但是当我执行GET时,我没有得到任何响应。相反,我得到一个错误,如下所示:“指定的值具有无效的HTTP标头字符。(参数'name')” 下面是我试图执行的C代码 问题:我没有收到来自服务器的响应,响应长度为零。 以下是答案:0 回答ErrorMessa
问题内容: 这旨在对每周出现一次或两次的所有类似问题(但过于具体的问题,不能成为接近的目标候选人)提供规范的问答。 我正在开发一个应用程序,该应用程序需要解析带有表的网站。由于派生用于抓取网页的XPath表达式很无聊且容易出错,因此我想为此使用 Firebug 的XPath提取器功能 (或其他浏览器中的类似工具)。 输入示例如下所示: 我想提取第一个数据单元格(“ foobar”)。Firebug
这是为了提供一个规范的Q 我正在开发一个应用程序,需要解析一个网站中的表。由于导出用于抓取网页的XPath表达式是一项枯燥且容易出错的工作,我想为此使用Firebug的XPath提取器功能(或其他浏览器中的类似工具)。 示例输入如下所示: 我想提取第一个数据单元(“foobar”)。Firebug提出了XPath表达式 这在任何XPath测试插件中都可以正常工作,但在我自己的应用程序中却不行(没有