Member 13954890 Ответов: 2

Как преобразовать массив int в строку?


public class sort_string 
{
	public static void main(String[] args)
    {	int j,temp=0;
        //String result = "";
        System.out.println("enter string\n");
    
        Scanner kbd = new Scanner(System.in);
        String input = kbd.nextLine();
        char[] arr=input.toCharArray();
        int count = 0;
        int [] intArray = new int[arr.length];
        for (char i : arr)
        {
          int m = Character.getNumericValue(i);
          intArray[count] = m;
          count += 1;
        }
        int len=intArray.length;
       
        	 boolean swapped;
             for (int i = 0; i < len - 1; i++) 
             {
                 swapped = false;
                 for (j = 0; j < len - i - 1; j++) 
                 {
                     if(intArray[j] < intArray[j + 1]) 
                     {
                         
                         temp = intArray[j];
                         intArray[j] = intArray[j + 1];
                         intArray[j + 1] = temp;
                         swapped = true;
                     }
                 }
      
                 // IF no two elements were 
                 // swapped by inner loop, then break
                 if (swapped == false)
                     break;
             
        
             }
             for(int a:intArray)
              System.out.println(a);
            	 //String str=Arrays.toString(intArray);
 }
}


Что я уже пробовал:

я хочу, чтобы мой вывод был в строке, например, если input=2948, то output=9842.Я использую toString (), но он не принимает переменную 'a'.Может ли кто-нибудь помочь мне в этом?

Mohibur Rashid

Ваш вопрос не совсем ясен. Какие у тебя проблемы? Вы устали от отладки?

Member 13954890

Код работает нормально и я получаю результат в индивидуальном порядке как 9
8
4
2
я хочу отобразить свой вывод в одной строке, например 9842.для этого я пытаюсь преобразовать свой массив int в строку и отобразить эту строку.Но я не могу этого сделать.что же мне тогда делать?

2 Ответов

Рейтинг:
18

Jochen Arndt

Просто позвонить Integer.toString(int) или String.valueOf(int)для каждого элемента массива и добавьте его в выходную строку:

//String str;
String str = "";
for (int a:intArray)
    str += Integer.toString(a);


Member 13954890

я получил результат и инициализировал его как str="" вместо того, чтобы писать null.Большое спасибо.

Jochen Arndt

Извините, я забыл инициализацию (делая в основном C++, где строковый объект автоматически инициализируется как пустая строка).

Хорошо, что ты сам это починил.

Рейтинг:
1

Mitesh Makwana

вы можете тир это

String str=intArray.toString();