使用vs vode运行Java程序出现了这个问题,但放在IDEA中就可以运行,类名和文件名是一样的
Exception in thread "main" java.lang.NoSuchMethodError: 'int Solution.mySqrt(int)'
at 平方根.main(平方根.java:8)
求解答
public class 平方根 {
public static void main(String []args)
{
int x=2147395600;
Solution solution=new Solution();
System.out.println(solution.mySqrt(x));
}
}
class Solution {
public int mySqrt(int x) {
for(int i=0;i<=46340;i++)
{
if(i*i<=x&&(i+1)*(i+1)>x)
return i;
}
return 46340;
}
}
但运行另一个程序就没有这个问题
import java.util.*;
public class 括号匹配{
public static void main(String []args)
{
String s="))";
Solution soultion=new Solution();
System.out.println(soultion.isValid(s));
}
}
class Solution {
public boolean isValid(String s) {
Stack<Character> st = new Stack<>();
int length=s.length();
char []a=s.toCharArray();
if(length%2!=0)
{
return false;
}
for(int i=0;i<length;i++)
{
if(a[i]=='('||a[i]=='['||a[i]=='{')
{
st.push(a[i]);
}
else if((a[i]==')'||a[i]==']'||a[i]=='}')&&st.isEmpty())
{
return false;
}
else if((a[i]==')'||a[i]==']'||a[i]=='}')&&!st.isEmpty())
{
if(a[i]==')'&&st.pop()!='(')
{
return false;
}
if(a[i]=='}'&&st.pop()!='{')
{
return false;
}
if(a[i]==']'&&st.pop()!='[')
{
return false;
}
}
}
if(st.isEmpty()==false)
{
return false;
}
else
return true;
}
}