import java.io.File; import java.io.FileNotFoundException; import java.io.PrintWriter; import java.util.Scanner; import java.util.Stack; public class Assignment3 { public static boolean isMatched(String input) { Stack<Character> stack = new Stack<>(); for (char c : input.toCharArray()) { if (c == '{' || c == '[' || c == '(') { stack.push(c); } else if (c == '}' || c == ']' || c == ')') { if (stack.isEmpty()) { return false; } char top = stack.pop(); if ((top == '{' && c != '}') || (top == '[' && c != ']') || (top == '(' && c != ')')) { return false; } } } return stack.isEmpty(); } public static void main(String[] args) throws FileNotFoundException { File file=new File("C:\Users\DELL\Desktop\Chapter2\ADT\input_a3 (1).txt"); File file1=new File("C:\Users\DELL\Desktop\Chapter2\ADT\output_a3.txt"); Scanner sc1=new Scanner(file1); Scanner sc=new Scanner(file); PrintWriter writer = new PrintWriter(file1); while (sc.hasNextLine()) { String input = sc.nextLine(); if (isMatched(input)) { writer.printf("%s Valid \n", input); } else { writer.printf("%s inValid\n", input); } } writer.close(); sc.close(); sc1.close(); } }的ReadMe.txt
时间: 2024-01-29 14:03:44 浏览: 37
这段代码是一个用 Java 编写的括号匹配检查程序,它会读取一个文件中的多行文本,对每一行文本进行括号匹配检查,并将结果输出到另一个文件中。如果一行文本中的括号匹配正确,程序会输出 "Valid",否则会输出 "inValid"。程序使用了一个栈来实现括号匹配检查,具体实现可以参考 isMatched 方法的代码。在程序运行时,需要提供两个参数,第一个参数是输入文件的路径,第二个参数是输出文件的路径。
相关问题
用java.io.FileNotFoundException、java.util.Scanner、java.io.PrintWriter类,用PrintWriter打开io,用read.nextLine读取行,输入 :q 才结束输入,随后关闭读和写的io,退出程序。
好的,我可以帮你写一个Java程序来实现这个功能。请确认您使用的Java版本支持Java 8中的try-with-resources语句,这样可以更方便地关闭读和写的io。
以下是代码:
```java
import java.io.*;
import java.util.*;
public class IOExample {
public static void main(String[] args) {
try (Scanner read = new Scanner(System.in);
PrintWriter write = new PrintWriter(new File("output.txt"))) {
while (read.hasNextLine()) {
String line = read.nextLine();
if (line.equals(":q")) {
break;
}
write.println(line);
}
} catch (FileNotFoundException e) {
System.out.println("文件未找到!");
}
}
}
```
这个程序会从标准输入读取行,并将其写入到名为output.txt的文件中,直到输入了“:q”,然后关闭读和写的io并退出程序。如果文件未找到,则会显示错误消息。
希望这个程序可以帮助到你。
用java编写程序实现从键盘输入数据,保存到指定文件里。使用java.io.FileNotFoundException、java.util.Scanner、java.io.PrintWriter类,用PrintWriter打开io,用read.nextLine读取行,输入 :q 才结束输入,随后关闭读和写的io,退出程序。并给出文件结构
好的,我可以为您解答这个问题。以下是您需要编写的Java程序:
```java
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Scanner;
public class SaveToFile {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("请输入文件名:");
String fileName = scan.nextLine(); //获取文件名
File file = new File(fileName); //创建文件对象
try {
PrintWriter writer = new PrintWriter(file); //打开写入流
System.out.println("请输入数据(输入\":q\"退出):");
String input = scan.nextLine();
while (!input.equals(":q")) { //当输入不是":q"时,继续读取
writer.println(input); //写入数据
input = scan.nextLine();
}
writer.close(); //关闭写入流
scan.close(); //关闭读取流
System.out.println("数据已保存到文件" + fileName + "中");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
```
这个程序会提示用户输入文件名,然后打开一个写入流。接下来,程序会提示用户输入数据,直到用户输入":q"为止。在这个过程中,程序会将用户输入的每一行数据写入文件。最后,程序会关闭写入流和读取流,并提示用户数据已保存到文件中。
您可以在命令行中运行这个程序。在运行过程中,程序会根据您的输入创建一个文件,并将您输入的数据保存到这个文件中。下面是一个示例文件结构:
```
mydata.txt
├── 第一行输入的数据
├── 第二行输入的数据
├── ...
└── 最后一行输入的数据
```
其中,mydata.txt是您输入的文件名。根据您的实际输入,文件中可能包含不同的数据。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)