Sabtu, 25 Mei 2013

Memotong String Berisi Angka Untuk Dijumlahkan

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