Kasus:
Ketika ada sebuah String yang berisi angka terpisahkan oleh spasi, kemudian kita ingin menjumlahkan angka-angka yang terpisahkan oleh spasi tersebut
Berikut adalah caranya:
package com.lingkarankode.training;
import java.util.ArrayList;
public class MemotongString {
/**
* @param args
*/
public static void main(String[] args) {
String text = new String("345 2 88888888 1000 55 55 55");
String data = text.trim();
String[] data2 = data.split(" ");
//split data dan menyimpan dalam string array
int hasil=0;
for(int i=0; i < data2.length; i++){
hasil = hasil + Integer.parseInt(data2[i]);
}
int temp=0;
String data1 = null;
//mencari panjang data yg max
for(int i=0; i < data2.length; i++){
if(temp < data2[i].length()){
temp =data2[i].length();
data1 = data2[i];
}
}
/*System.out.println("data maximum length = " + data1);
System.out.println("panjang karakter max = " + temp);*/
int x =4;
int lengthMax ;
lengthMax= temp + 4;
ArrayList spasi = new ArrayList();
ArrayList nilai = new ArrayList();
String spasi1= "";
for(int i=0; i < data2.length; i++){
if(data2[i].length() < lengthMax){
int loop = lengthMax - data2[i].length();
for(int j=0; j < loop ;j++){
spasi1 = spasi1 +" ";
}
spasi.add(spasi1);
spasi1="";
}
}
for(int i=0; i < data2.length; i++){
nilai.add(spasi.get(i) + data2[i]);
}
for(int i=0; i < data2.length; i++){
System.out.println(nilai.get(i));
}
//untuk hasil
String hasil1 = String.valueOf(hasil);
if(hasil1.length() < lengthMax){
int loop = lengthMax - hasil1.length();
System.out.println("------------");
for(int j=0; j < loop ;j++){
spasi1 = spasi1 +" ";
}
hasil1 = spasi1 + hasil;
System.out.println(hasil1);
}
}
}
Hasil running :
345
2
88888888
1000
55
55
55
------------
88890400
Thanks to: Gede Mahendra, Merina Harmon