gpt4 book ai didi

java - .等于不使用扫描仪

转载 作者:行者123 更新时间:2023-12-01 14:52:55 25 4
gpt4 key购买 nike

我知道它正在读取文件,因为我让它将 txt 文件的内容打印到控制台,但每次我尝试 .equals 时,变量都不会更改为 true/false 只是保持 true 任何想法吗?

public static void readWebPage() {
URLConnection connection;
try {
connection = new URL("https://dl.dropbox.com/u/40562795/List.txt").openConnection();
@SuppressWarnings("resource")
Scanner scanner = new Scanner(connection.getInputStream());
scanner.useDelimiter("\\z");
String text = scanner.next();
System.out.println(text);
if(text.equals("stop")){
stop = true;
System.out.println("Successfully stopped.");
}else{ if(text.equals("-"))
stop = false;
System.out.println("Successfully started.");
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}

编辑:

现在可以读取它了,但我的变量没有更新为真/假。它保持在 true 左右,这在控制台中是这样显示的。

if(stop = false){
System.out.println("stop = false.");
}else
if(stop = true){
System.out.println("stop = true.");
}

我的变量是如何制作的:

 public static boolean stop = false;

这就是我创建变量的方式,它应该 = false 但停止或更改它。我在我的 java 文件中搜索了可能将其触发为 true 的内容,但没有找到任何内容。

最佳答案

远程文本文件中的 - 字符后面有一个尾随空格。您可以使用空格分隔符而不是行终止符分隔符。替换

scanner.useDelimiter("\\z");

scanner.useDelimiter("\\s+");

以便您的文本与您的.equals检查相匹配。

编辑:

通过编辑,您可以在 if 语句表达式中进行赋值:

if (stop = false) {

替换为

if (stop == false) {

或更好

if (!stop) {

总的来说这个if语句是不必要的,你可以简单地写

System.out.println("stop = " + stop);

关于java - .等于不使用扫描仪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14666986/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com