2016-11-04 34 views
0

你好:)我是高中的初中,今年對AP計算機科學感興趣。我能夠進入,但與其他人不同,我沒有把課前準備好,我也不擅長編碼。我們今天做了一個任務,方向是找到一個「?」的索引。在一個字符串中(在第一種方法中),並在第二種方法中刪除它。我試過並失敗慘了大聲笑,我知道我的代碼是不正確的,我怎麼才能正確地寫這個跟着方向?謝謝如何找到一個字符串的索引,然後將其刪除?

import java.util.Scanner; 

public class RemoveQuesRunner { 

    public void findQuestionMark() { 
     String s; 
     Scanner kb = new Scanner(in); 
     System.out.println("Enter word :: "); 
     String.indexOf(?) 
    } 

    public void removeQuestionMark() { 
     if (findQuestionMark()=true); 
      s.replace("?", "");  
    } 
} 


    public void removeQuestionMark() { 

    if (findQuestionMark()=true); 
     s.replace("?", "");   
    } 
} 
+0

試試良好的某一部分 - 你有什麼用'kb'做什麼?不要忘了閱讀javadocs https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html –

+0

在'if'結尾處也沒有';' –

+0

(1)如果你意味着'?'是一個字符('char'),它必須用單引號表示。如果你的意思是'String',它必須用雙引號。使用它沒有任何引號是錯誤的。 (2)調用'indexOf'的語句必須以分號結尾。 (3)'String.indexOf'返回一個'int',它告訴你它在字符串中的位置。但是你寫這個的方式,你沒有做任何結果。 – ajb

回答

0

不是完整的代碼,因爲我想讓你嘗試更多。

public int findQuestionMark() 

String s = kb.nextLine(); 

int index = s.indexOf ('?'); 

return index; 

... 

public void removeQuestionMark(int index, String s) 

if (findQuestionMark() != -1) { 
    return s.replace ("?", ""); 
} 
return ("No ?"); 
-1
import java.util.Scanner; 

public class RemoveQuesRunner 
{ 
String s = ""; 

public int findQuestionMark() 
{ 
Scanner kb = new Scanner(System.in); 
System.out.println("Enter word :: "); 
s=kb.next(); 
return s.indexOf("?"); 
} 

public void removeQuestionMark(int index) 
{ 
if(index >= 0) 
    { 
    StringBuilder bulid = new StringBuilder(str); 
    bulid.deleteCharAt(index); 
    str = bulid.toString(); 
    }  
} 
+0

我假設你知道如何在你的主程序中使用一個類lolz –

0

我編輯的代碼

public class Test { 

    public static String result; 


    public static void main(String[] args) { 

     findQuestionMark(); 

     removeQuestionMark(); 

    } 


    public static String findQuestionMark() { 

      Scanner input = new Scanner(System.in); 
      System.out.println("Enter word: "); 
      result = input.nextLine(); 

      System.out.println("Index of ?: " + result.indexOf("?")); 
      return result; 

    } 

    public static void removeQuestionMark() { 
     result = result.replace("?", ""); 

     System.out.println(result); 

    } 

} 
相關問題