Значение Sentinel для закрытия fileWriter (Java)
-
09-10-2019 - |
Вопрос
Я пытаюсь сделать основную программу, которая позволяет пользователю создавать текстовый файл и добавить список слов к нему. Когда пользователь пишет «Stopnow» - файл должен закрыться. К сожалению, сейчас это просто бесконечная петля. Что я делаю не так:
import java.util.Scanner;
import java.io.*;
public class WordList
{
public static void main(String[] args) throws IOException
{
System.out.println("What would you like to call your file? (include extension)");
Scanner kb = new Scanner(System.in); // Create Scanner
String fileName = kb.nextLine(); // assign fileName to name of file
PrintWriter outputFile = new PrintWriter(fileName); // Create the file
String input;
System.out.println("Please enter the next word or stopnow to end"); //Prompt user for a word
input = kb.nextLine(); // assign input as the word
while (input != "stopnow")
{
outputFile.println(input); // print input to the file
System.out.println("Please enter the next word or stopnow to end"); //Prompt user for a word
input = kb.nextLine(); // assign input as the word
}
outputFile.close(); //Close the File
System.out.println("done!");
}
}
Решение
Чтобы проверить равенство строки, используйте .equals
while (!input.equals("stopnow"))
{
outputFile.println(input); // print input to the file
System.out.println("Please enter the next word or stopnow to end"); //Prompt user for a word
input = kb.nextLine(); // assign input as the word
}
То, что вы делаете в настоящее время, сравнивают ссылки.
Не связан с StackOverflow