-4
這是一個練習,我被要求編寫方法charAt()
,length()
startsWith()
並在main
函數中調用這些方法。簡單的方法調用在java中不起作用
預期的輸出應該
ABCDE
的C 5
出於某種原因,我不知道,所以它不會打印出那些出去放和我無法請致電startsWith()
方法。
問題(1)我不能調用方法startsWith()
。
問題(2)編譯時我註釋掉startsWith()
但比
它只能打印的信不是索引和長度。
public interface CSequence {
char charAt(int n);
int length();
}
class ImmutableCSequence implements CSequence {
private char[] chars;
public ImmutableCSequence(char[] chars) {
this.chars = new char[chars.length];
for (int pos = 0; pos < chars.length; pos++)
this.chars[pos] = chars[pos];
}
public boolean startsWith(char c) {
boolean b = false;
if (this.chars.length > 0 && c == this.chars[0])
b = true;
return b;
}
public String toString() {
return new String(this.chars);
}
public char charAt(int n) {
for(int i = 0; i < chars.length; i++){
i=(char) n;
}
return (char)n;
}
public int length() {
return this.chars.length;
}
public static void main(String[] args) {
char[] letters = {'a', 'b', 'c', 'd', 'e'};
CSequence cs = new ImmutableCSequence(letters);
System.out.println(cs);
char c = cs.charAt(2);
int len = cs.length();
System.out.println(c + " " + len);
//boolean b = cs.startsWith('a');
}
}
拿什麼'沒有作用,因爲它是supposed'? – Jens
它的開頭有可能是拼寫錯誤? –
startWith!= startsWith – luk2302