Я работаю над программой, которая преобразует байтовый массив, скажем, {13,13,12,12,4,4,4,4} в 13d: 12 c: 44: 44, (1- 15 в десятичном виде) (1-15 в шестнадцатеричном): и до следующих двух цифр. Мой код ниже работает и печатает то, что я хочу, за исключением того, что он всегда включает: в конце. Таким образом, вместо (13d: 12 c: 44: 44) вывод будет (13d: 12 c: 44: 44 :). Я пытался играть с оператором else if с двумя условиями, но он не работает, если какие-либо цифры являются последовательными. В противном случае, если условие я включил в печать вместо этого (13d: 12 c: 4444).
public static void main(String []args){
byte [] pracArray = {13,13,12,12,4,4,4,4};
for ( int i = 0; i < pracArray.length; i+=2)
{
if ( pracArray[i] == 0) { System.out.print("0");}
if ( pracArray[i] == 1) { System.out.print("1");}
if ( pracArray[i] == 2) { System.out.print("2");}
if ( pracArray[i] == 3) { System.out.print("3");}
if ( pracArray[i] == 4) { System.out.print("4");}
if ( pracArray[i] == 5) { System.out.print("5");}
if ( pracArray[i] == 6) { System.out.print("6");}
if ( pracArray[i] == 7) { System.out.print("7");}
if ( pracArray[i] == 8) { System.out.print("8");}
if ( pracArray[i] == 9) { System.out.print("9");}
if ( pracArray[i] == 10) { System.out.print("10");}
if ( pracArray[i] == 11) { System.out.print("11");}
if ( pracArray[i] == 12) { System.out.print("12");}
if ( pracArray[i] == 13) { System.out.print("13");}
if ( pracArray[i] == 14) { System.out.print("14");}
if ( pracArray[i] == 15) { System.out.print("15");}
if( pracArray[i+1] == 0) {System.out.print("0:");}
if( pracArray[i+1] == 1) {System.out.print("1");}
if( pracArray[i+1] == 2) {System.out.print("2:");}
if( pracArray[i+1] == 3) {System.out.print("3:");}
if( pracArray[i+1] == 4 && pracArray[pracArray.length-1] == 4) {System.out.print("4");}
else if( pracArray[i+1] == 4) {System.out.print("4:");}
if( pracArray[i+1] == 5) {System.out.print("5:");}
if( pracArray[i+1] == 6) {System.out.print("6:");}
if( pracArray[i+1] == 7) {System.out.print("7:");}
if( pracArray[i+1] == 8) {System.out.print("8:");}
if( pracArray[i+1] == 9) {System.out.print("9:");}
if( pracArray[i+1] == 10) {System.out.print("a:");}
if( pracArray[i+1] == 11) {System.out.print("b:");}
if( pracArray[i+1] == 12) {System.out.print("c:");}
if( pracArray[i+1] == 13) {System.out.print("d:");}
if( pracArray[i+1] == 14) {System.out.print("e:");}
if( pracArray[i+1] == 15) {System.out.print("f:");}
}
}
Буду признателен за любую помощь в том, как исправить мой код, когда повторяющиеся цифры нашел или способ с меньшим количеством кода, так как я начинающий. Есть ли способ просто не отображать последний символ в строке? Таким образом, я думаю, что мой оригинальный код будет работать, так как конечный символ всегда будет: и он не будет напечатан.