#java #string #integer #addition
Вопрос:
String a=A000001;
String b = (A000001) 1;
b=A000002;
Я хочу добавить два значения. мое 1-е значение-строковый псевдоним, а 2-е-int 1.
Is это возможно?
Комментарии:
1. Рассматривать строку как шестнадцатеричную? Конечно, это не сработало бы для K000000 1. База 36?
2. не понимаю твоей точки зрения
Ответ №1:
Что-то вроде
String s = "(A000001) 1";
String[] operands = s.split(" ");
int a = Integer.parseInt(operands[0].replaceAll("\W", ""), 16);
int b = Integer.parseInt(operands[operands.length-1].replaceAll("\W", ""), 16);
//Assume addition or you need to parse and identify the operator
int sum = a b;
System.out.println(Integer.toString(sum, 16).toUpperCase());
Комментарии:
1. Это совершенно другой вопрос. Пожалуйста, примите ответ на этот вопрос и задайте другой
Ответ №2:
или просто используйте их как int и форматируйте int в виде шестнадцатеричных чисел. Облегчает увеличение значений.
int a = 0xA000001;
int b = a 1;
System.out.printf("%X", b);
Комментарии:
1. нужно, чтобы тип переменной был строковым