Java 向用户询问特定的文件名
我想添加一行,用户需要在其中输入特定的文件名,如 “输入文件名:LongestWord.txt”然后输出LongestWord,但是如果用户没有输入特定的文件名,它会像“文件名不正确!”我应该使用什么循环?您可以使用Java 向用户询问特定的文件名,java,java.util.scanner,Java,Java.util.scanner,我想添加一行,用户需要在其中输入特定的文件名,如 “输入文件名:LongestWord.txt”然后输出LongestWord,但是如果用户没有输入特定的文件名,它会像“文件名不正确!”我应该使用什么循环?您可以使用if()else循环 主函数中可能的实现如下所示 import java.util.Scanner; import java.nio.file.Paths; import java.io.*; public class Chupapi{ public static void mai
if()else循环
主函数中可能的实现如下所示
import java.util.Scanner;
import java.nio.file.Paths;
import java.io.*;
public class Chupapi{
public static void main(String [ ] args)throws FileNotFoundException{
new Chupapi().getLongestWords();
}
public String getLongestWords() throws FileNotFoundException{
String longWord = "";
String current;
Scanner scan = new Scanner(new File("/Users/user/Documents/PROGRAMMINGTXT/LongestWord.txt"));
while (scan.hasNext()){
current = scan.next();
if ((current.length() > longWord.length()) && (!current.matches(".*\\d.*"))) {
longWord = current;
}
}
System.out.println("Longest word: "+longWord);
longWord.replaceAll("[^a-zA-Z ]", "").split("\\s+");
return longWord;
}
}
注:
要使文件名动态,可以将其设置为main函数之外的变量,并在getLongestWords()函数中使用该名称
public static void main(String[] args) throws FileNotFoundException {
final String correctFileName = "LongestWord.txt";
Scanner scan = new Scanner(System.in);
System.out.println("Enter the file name: " + correctFileName);
String s = scan.nextLine();
if (s.equals(correctFileName)) {
new Chupapi().getLongestWords();
} else {
System.out.println("Filename incorrect!");
}
}
此外,这假设文件始终是路径/Users/user/Documents/PROGRAMMINGTXT/
我使用了if()else循环
,它以某种方式得到了我想要的结果。谢谢大家@OneCricketeer和@Tcheutchoua Steve
final String correctFileName = "LongestWord.txt";
main (){}
getLongestWords (){
...
Scanner scan = new Scanner(new File("/Users/user/Documents/PROGRAMMINGTXT/" + correctFileName));
...
}
你必须使用循环吗?您是否已经有一个请求文件名的代码?我有,但是它是C++的。
import java.util.Scanner;
import java.io.*;
public class Chupapi{
public static void main(String [ ] args)throws FileNotFoundException{
new Chupapi().getLongestWords();
}
public String getLongestWords() throws FileNotFoundException{
Scanner scanner = new Scanner (System.in);
System.out.print("Enter the specific filename: ");
String filename = scanner.next();
String longWord = "";
String current;
Scanner scan = new Scanner(new File("/Users/glenn/Documents/PROGRAMMINGTXT/LongestWord.txt"));
while (scan.hasNext()) {
current = scan.next();
if ((current.length() > longWord.length()) && (!current.matches(".*\\d.*"))) {
longWord = current;
}
}
if (filename.equals("LongestWord.txt")) {
System.out.println("Pinakamahabang salita: " + longWord);
longWord.replaceAll("[^a-zA-Z ]", "").split("\\s+");
return longWord;
}
else {
System.out.println("Incorrect filename!");
return filename;
}
}
}