java 错误: 找不到或无法加载主类 Solution.class

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wangxinxinsj/article/details/82897522

Solution.java文件中

public class Solution {

	public static void main(String[] args){

		String str = "abcabcbb";
		System.out.println(lengthOfLongestSubstring(str));
	}
	
	public static int lengthOfLongestSubstring(String s) {   
        int j = 0;
        int l = s.length();
        for( int i=0;i<l;i++){
            for(int k=0;k<l;k++){
                if(i != k){
                    if(s.charAt(i) == s.charAt(k)){
                        s=deleteString(s,k);
                    } 
                }
               
             }  
        }
        
        return s.length();
    }
    
    public static String deleteString(String str,int k){
        String delStr="";
        for(int i=0; i<str.length();i++){
            if(i!=k){
                delStr += str.charAt(i);
            }
        }
        
        return delStr;
    }  
}
javac Solution.java

可以正常编译
再运行

java Solution.class

报错错误: 找不到或无法加载主类 Solution.class
各种配置查看,.bash_profile也对了下

export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home"
export PATH="$JAVA_HOME/bin:$PATH"
export CLASSPATH=".:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar"

最后发现运行时不需要带 .class,不要带.class后缀,不要带.class后缀

➜   java Solution
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 7
	at java.lang.String.charAt(String.java:658)
	at Solution.lengthOfLongestSubstring(Solution.java:16)
	at Solution.main(Solution.java:6)

终于报错了,运行正常

猜你喜欢

转载自blog.csdn.net/wangxinxinsj/article/details/82897522