Wat is de beste manier om een geheel getal om te zetten in een tekenreeks?
Invoer: 1234
Uitvoer: {1,2,3,4}
Wat is de beste en meest efficiënte manier om dit te doen, rekening houdend met de uitgestrektheid van de Java-taal?
Antwoord 1, autoriteit 100%
int i = 1234;
char[] chars = ("" + i).toCharArray();
Antwoord 2, autoriteit 86%
Je zou iets kunnen proberen als:
String.valueOf(1234).toCharArray();
Antwoord 3, autoriteit 25%
Probeer dit…
int value = 1234;
char [] chars = String.valueOf(value).toCharArray();
Antwoord 4, autoriteit 12%
Je kunt dat gehele getal converteren naar string en die string vervolgens converteren naar char arary:-
int i = 1234;
String s = Integer.toString(i);
Char ch[] = s.toCharArray();
/*ch[0]=1,ch[1]=2,ch[2]=3,ch[3]=4*/
Antwoord 5, autoriteit 4%
Hiermee wordt een int geconverteerd naar een array van 2 tekens. Probeer dit als je het minimum aantal tekens probeert te krijgen.
//convert int to char array
int valIn = 111112222;
ByteBuffer bb1 = ByteBuffer.allocate(4);
bb1.putInt(valIn);
char [] charArr = new char[4];
charArr[0] = bb1.getChar(0);
charArr[1] = bb1.getChar(2);
//convert char array to int
ByteBuffer bb2 = ByteBuffer.allocate(8);
bb2.putChar(0,charArr[0]);
bb2.putChar(2,charArr[1]);
long valOut = bb2.getInt(0);
Antwoord 6
Ik heb deze vraag gesteld in Google-interview. Indien gevraagd in interviews gebruik module en divisie. Hier is het antwoord
List<Integer> digits = new ArrayList<>();
//main logic using devide and module
for (; num != 0; num /= 10)
digits.add(num % 10);
//declare an array
int[] arr = new int[digits.size()];
//fill in the array
for(int i = 0; i < digits.size(); i++) {
arr[i] = digits.get(i);
}
//reverse it.
ArrayUtils.reverse(arr);
Antwoord 7
Zeg dat u een reeks inten en een andere methode hebt die die inten naar letters converteert, zoals voor een programma van het programma dat de cijfers van het aantal wisselt, u zou doen …
public char[] allGradesToLetters()
{
char[] array = new char[grades.length];
for(int i = 0; i < grades.length; i++)
{
array[i] = getLetter(grades[i]);
}
return array;
}