首先:我是一名初學者,負責編寫學校作業。一位同學和我正在爲一位老師提供申請,他有一個關於物理學的網站。數組乘以一個或其他不工作
我們希望實現電子郵件地址+代碼的驗證。電子郵件的前6個字符在我的代碼中獲得數值* a var('sleutel')。我用一個方法getNumber來說:a = 1,b = 2,c = 3。我想將該字符串中的數字乘以一個和另一個。這就是輸入的代碼應該提前。
例如:當您輸入abc時,getNumber將其轉換爲123,乘以'sleutel'給我51015(1 * 5,2 * 5,3 * 5)。這是錯誤的地方:我想要以下內容:5 * 10 * 15。 但代碼給我:5 * 1 * 0 * 1 * 5(= 0 ...)。
有沒有一個(不同)的方式,我可以做到這一點?先謝謝你。
if (email_text.getText().length() > 0
&& code_text.getText().length() > 0) {
final String userEmail = email_text.getText().toString()
.substring(0, Math.min(6, email_text.length()))
.toLowerCase();
final String userCode = code_text.getText().toString();
String validCode = "";
int sleutel = 3;
for (int i = 0; i < userEmail.length(); i++) {
validCode += getNumber(userEmail.charAt(i)) * sleutel;
}
int res = 1;
for (char digits : validCode.toCharArray()) {
res *= (digits - '0');
}
final String validCode2 = Integer.toString(res);
if (userCode.equals(validCode2)) {
Intent intent = new Intent(Login.this, Home.class);
startActivity(intent);
} else { // display toast}
private int getNumber(Character c) { return "[email protected]".indexOf(c) +1;
}
當不可你只需將你的sleutel變量與getNumber方法返回的值相乘,而不是使用加法? –
@MehmetSedatGüngör對不起,我一直在亂碼的代碼很長一段時間(看看有什麼工作),是的,它應該是*而不是。但是它不起作用! – YoranY
你可以顯示getNumber方法的代碼嗎? –