1. 程式人生 > >java 錯誤: 找不到或無法載入主類 Solution.class

java 錯誤: 找不到或無法載入主類 Solution.class

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)

終於報錯了,執行正常