Кажется, что одно из ваших значений, с ключом свойства «значение» не определено. Проверьте, что i1
, i2
и __i
определены перед выполнением операторов if:
var i1 = document.getElementById('i1');
var i2 = document.getElementById('i2');
var __i = {'user' : document.getElementsByName("username")[0], 'pass' : document.getElementsByName("password")[0] };
if(i1 && i2 && __i.user && __i.pass)
{
if( __i.user.value.length >= 1 ) { i1.value = ''; } else { i1.value = 'Acc'; }
if( __i.pass.value.length >= 1 ) { i2.value = ''; } else { i2.value = 'Pwd'; }
}
Ну, вы не можете конвертировать String result = "10+23";
в int, потому что у вас есть +
там. Что именно ты пытаешься сделать? Если вы хотите взять 2 строки и получить их результат, то вот код:
String a = "10";
String b = "23";
int result = Integer.parseInt(a) + Integer.parseInt(b);
//The sum of the two values as a String
String calculatedResult = String.valueOf(result);
Log.i("Tag", calculatedResult); //Outputs 33
Это дает ошибку, потому что "10+23"
не является числом , оно содержит символ +
, а метод Integer.parseInt(String s);
конвертирует только строки вроде "23"
или "10.5"
[118 ] Таким образом, чтобы решить проблему, попробуйте преобразовать только число травления, например,
String number1 = "10";
String number2 = "23";
int calculatedResult = Integer.parseInt(number1)+Integer.parseInt(number2);
Log.e(TAG, String.valueOf(calculatedResult);
для получения дополнительной информации и примеров о Integer.parseInt(String s);
, щелкните здесь