java - bubble sort app with user input in android studio -


i new android programming , tried bubble sort inputting numbers in 1 edittext , sorted numbers outputted on textview. program has stopped unexpectedly once click input button. please "tell me wrong" thank you.

public class mainactivity extends appcompatactivity {  textview result; edittext input; button asbutton;  int i,j,temp,num[];  @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     setcontentview(r.layout.activity_main);      asbutton = (button) findviewbyid(r.id.button);     input = (edittext) findviewbyid(r.id.edittext);     result = (textview) findviewbyid(r.id.textview2);      asbutton.setonclicklistener(new view.onclicklistener() {         @override         public void onclick(view v) {             bubblesort();         }     }); }  public void bubblesort() {      spannable spn = input.gettext();     (int = 0; < spn.length(); i++){         num[i] = integer.parseint(""+spn.charat(i));     }      (i = 0; < num.length; i++) {         (j = + 1; j < num.length; j++) {             if (num[i] > num[j]) {                 temp = num[i];                 num[i] = num[j];                 num[j] = temp;             }         }     }      string result = "";     (int = 0; < num.length; i++){         result += num[i] + " ";     }     result.settext(result);    } } 

you don't have initialized num. use following code

public void bubblesort() {     spannable spn = input.gettext();      num = new int[spn.length()];     int count = 0;     (int = 0; < spn.length(); i++){         if((spn.charat(i)+"").matches(".*\\d.*")){              num[i] = integer.parseint(""+spn.charat(i));             count++;         }     }      (i = 0; < count; i++) {         (j = + 1; j < count; j++) {             if (num[i] > num[j]) {                 temp = num[i];                 num[i] = num[j];                 num[j] = temp;             }         }     }      string result = "";     (int = 0; < num.length; i++){         result += num[i] + " ";     }     result.settext(result);  } 

Comments