我有一個程序,需要輸入字母,然後總結每個字母的數字值。從不同的類靜態調用布爾方法
我有它,所以如果我輸入「abc」,我的輸出是「6」。
我忽略大寫字母,所以如果我輸入「abC」,我的輸出是「3」。
現在我想要做的是在一個單獨的類中創建一個方法,如果設置爲true,它將按原樣運行我的主程序,但當它設置爲false時,它會將大寫字母視爲小寫字母,輸入「abC」,輸出「6」。
我希望這是有道理的,我已經嘗試了幾個不同的東西,但他們都按原樣運行程序,忽略大寫字母。
這是我的代碼,我很欣賞任何建設性的反饋。
感謝
編輯:我還希望,如果你沒有downvote我要問一個問題,如果你不想幫不」,似乎每一個問題,我問得到downvoted沒有明顯的或公平原因。因爲我知道這會發生,所以我不想要求幫助。我們都開始不得不在某個地方!
主要方法:
Scanner scan = new Scanner(System.in);
System.out.println("\nPlease enter the letters you would like to use:");
String s, t = "";
scan.next();
s = scan.next();
boolean b = Converter.caseSensitive(false, s);
scan.close();
for (int i = 0; i < s.length(); i++) {
char ch = s.charAt(i);
if (!t.isEmpty()) {
t += ",";
}
if (ch >= 'a' && ch <= 'z') {
int n = ch - 'a' + 1;
t += String.valueOf(n);
}
}
在單獨的類方法二:
public class Converter {
public static boolean caseSensitive(Boolean b, String s) {
for (char c : s.toCharArray()) {
if (Character.isLetter(c) && Character.isLowerCase(c)) {
b = s.equalsIgnoreCase(s);
return false;
}
}
s = s.toLowerCase();
return true;
}
}
可否請你從不必要的行清潔你的代碼? –
爲什麼不把所有的代碼從main()移動到pass(布爾選項)等其他函數,然後替換爲 boolean b = StringConverter.caseSensitive(false,s);與 boolean b = StringConverter.caseSensitive(option,s);並呼叫通過(true);通過(假);從新主力? –
我實際上在這裏看不到問題。請澄清你在哪裏有問題。 –