gpt4 book ai didi

java - 检查 .java 文件中打开的大括号的数量

转载 作者:行者123 更新时间:2023-12-02 11:15:40 25 4
gpt4 key购买 nike

我必须编写一个程序来读取.java文件,并检查打开的大括号的数量与关闭的大括号的数量是否相同,它必须与堆栈一起使用。这就是我所做的,但显然我正在使用扫描仪并在那里引入该程序,并且它不必是这样的,它必须带有一个 .java 文件。

public class Llaves1 {

public static int numPila;
private int t = -1;
private char[] pila; Llaves1(int size){
this.pila = new char[size];
numPila++;
}

public int size(){
return (t+1);
}

public boolean isEmpty(){
if(t==-1)
return true;
else
return false;
}

public void push(char x){
if(this.size()== this.pila.length)
{
System.out.println("Pile is already full.");
}
else {
this.pila[++t]=x;
}
}

public char pop(){
if(isEmpty()){
System.out.println("Empty Pile.");
}
return pila[t--];
}

public char top(){
if(isEmpty()){
System.out.println("Empty pile.");
}
return pila[t];
}

public static void main(String[] args) {

Scanner teclado = new Scanner(System.in);
String cadena= teclado.nextLine();

Llaves1 a= new Llaves1(cadena.length());
for(int i=0; i<cadena.length();i++){
char temp = cadena.charAt(i);
a.push(temp);
}

if(a.isEmpty())
System.out.println("Is empty.");
int numC=0;
int numA=0;

for(int i=0; i<cadena.length(); i++){
if(a.top()=='}')
numC++;
if(a.top()=='{')
numA++;
a.pop();
}
if(numA!=numC)
System.out.println("You have to close curly braces");
else
System.out.println("all curly braces have been closed.");
}

}

最佳答案

如果您想从文件读取,请更改此

Scanner teclado = new Scanner(System.in);

Scanner teclado = new Scanner(new File("/somePath/someFile"));

您的扫描仪将从该文件读取,而不是从System.in读取;更有用的方法可能是

Scanner teclado = new Scanner(new File(args[0]));

如果您需要将文件作为参数传递。

关于java - 检查 .java 文件中打开的大括号的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50301149/

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