Boleh jadi kamu membenci sesuatu, padahal ia amat baik bagimu,
dan boleh jadi (pula) kamu menyukai sesuatu padahal ia amat buruk bagimu;
Allah mengetahui, sedang kamu tidak mengetahui. (QS. 2:216)
Jadwal Sholat untuk wilayah Jakarta dan Sekitarnya, Kamis, 24 Mei 2012/3 Rajab 1433 H : Imsak 4:26:59 - Shubuh 4:33:25 - Terbit 5:55:33 - Dzuhur 11:49:46 - Ashar 15:11:48 - Maghrib 17:44:03 - Isya' 18:57:40 WIB

Penulis Topik: HELP for JAVA  (Dibaca 1289 kali)


Offline Ahazveroz

  • myQ Perambah
  • *
  • Tgl Gabung: Nov 2007
  • Tulisan: 276
  • Lokasi: San Diego, CA
  • Jenis kelamin: Pria
    • Lihat Profil
« pada: 26 Maret 2008, 08:04:34 »
Assalamualaikum

Mas-mas yang udah expert, saya baru belajar Java nih. masih bikin class buat coding-coding sederhana
and kebetulan ada problem yang saya ga bisa selesaiin

saya bikin program sederhana dengan main methodnya agar si USER memasukkan dua input angka (tipe Float)
lalu program saya akan menghitung nilai rata-rata dari 2 nilai tersebut  :toe: aduh malunya program kecil-kecilan

program dicompile dan semua lancar-lancar aja ketika saya masukkan angka seperti apa juga
namun masalah mulai muncul saat saya mulai bertanya
bagaimana kalau saya memasukkan karakter/huruf (char/string) ke kotak input
di mana data tersebut(yang dalam coding saya akan di rubah ke tipe int dari String(Input)
menjadi tidak valid lagi

nah kalo ada yang tau gimana solusinya tolong dong gmana caranya buat tambahan code mungkin atau saya perlu deklarasi class baru atau class scanner entah dengan looping atau if
supaya program saya saat menerima input huruf bisa tetep jalan dan ga error ;D
di bawah ini saya cantumin codingnya :malu: lagi-lagi malu

Kode: [Pilih]
import static java.lang.System.in;
import java.io.*;
import javax.swing.*;

class NumberTester
{
    public static void main(String[] args) throws IOException
    {
        String inPut;
        float num, num2, avg;
 
        inPut = JOptionPane.showInputDialog(null, "Please enter a value");
        num = Float.parseFloat( inPut );
       
        inPut = JOptionPane.showInputDialog(null, "Please enter another value");
        num2 = Float.parseFloat( inPut );
       
        avg = (num + num2)/2F;
       
        System.out.println("The average value is " + avg);
       
        System.out.println("Thank you, Good Bye!");
    }
}
"Gravity explains the motions of the planets, but it cannot explain who set the planets in motion. God governs all things and knows all that is or can be done."Isaac Newton

Offline Ahazveroz

  • myQ Perambah
  • *
  • Tgl Gabung: Nov 2007
  • Tulisan: 276
  • Lokasi: San Diego, CA
  • Jenis kelamin: Pria
    • Lihat Profil
« Jawab #1 pada: 26 Maret 2008, 08:20:43 »
Kutip
(yang dalam coding saya akan di rubah ke tipe int dari String(Input)

maaf maksud saya float :toe:

oh iya kalo ada solusi dijelasin yah jangan cuma kodenya aja. pliz pliz
sesepuh anis kalo bisa bantu juga tolong yah :bercanda:
"Gravity explains the motions of the planets, but it cannot explain who set the planets in motion. God governs all things and knows all that is or can be done."Isaac Newton

Offline thevaj

  • myQ Pro-Aktif
  • *
  • Tgl Gabung: Jan 2007
  • Tulisan: 929
  • Lokasi: jakarta
  • Jenis kelamin: Pria
  • cah moderat
    • Lihat Profil
« Jawab #2 pada: 26 Maret 2008, 10:25:09 »
klo kuamati ya..

num = Float.parseFloat( inPut );

ini rawan terjadi exception, coba klo ternyata inPut nya ada karakter khusus misal : 45$5^
ntar ga bisa di parsing ke float.  Exception nya yg muncul tuh java.lang.NumberFormatExcepti on.

caranya adalah dengan validasi, kamu bisa ambil tuh FloatValidator dari lbrary commons-validator-1.3.0.jar, donlod aja di situsnya jakarta apache. Ntar setelah di validasi, baru di parsing.

validasinya misal begini :

        FloatValidator floatValidator = new FloatValidator();

   if(floatValidator.isValid(inPut)){
       System.out.println("valid");
   }else System.out.println("not valid");

jangan lupa, tambahkan dulu library commons-validator ke projek anda.  O0 O0

« Edit Terakhir: 26 Maret 2008, 10:31:35 oleh thevaj »

Offline Ahazveroz

  • myQ Perambah
  • *
  • Tgl Gabung: Nov 2007
  • Tulisan: 276
  • Lokasi: San Diego, CA
  • Jenis kelamin: Pria
    • Lihat Profil
« Jawab #3 pada: 26 Maret 2008, 11:16:43 »
Kutip
kamu bisa ambil tuh FloatValidator dari lbrary commons-validator-1.3.0.jar, donlod aja di situsnya jakarta apache. Ntar setelah di validasi, baru di parsing.

dari yang jdknya aja emang ga ada yah mas librarynya? jadi harus donlot ke situ yah?. :hmmm:

Kutip
ni rawan terjadi exception, coba klo ternyata inPut nya ada karakter khusus misal : 45$5^
ntar ga bisa di parsing ke float.  Exception nya yg muncul tuh java.lang.NumberFormatExcepti on.

iya ini yang jadi bikin saya kesel :marah:
masalahnya yang masukin input kan belom tentu masukin nilai float juga :o

Kutip
validasinya misal begini :

        FloatValidator floatValidator = new FloatValidator();

   if(floatValidator.isValid(inPut)){
       System.out.println("valid");
   }else System.out.println("not valid");

jangan lupa, tambahkan dulu library commons-validator ke projek anda.

import classnya nanti kaya gmana tuh mas kodennya ntar ? kasihin contoh dong :jaim:
"Gravity explains the motions of the planets, but it cannot explain who set the planets in motion. God governs all things and knows all that is or can be done."Isaac Newton

Offline thevaj

  • myQ Pro-Aktif
  • *
  • Tgl Gabung: Jan 2007
  • Tulisan: 929
  • Lokasi: jakarta
  • Jenis kelamin: Pria
  • cah moderat
    • Lihat Profil
« Jawab #4 pada: 26 Maret 2008, 14:51:02 »
jdk?? ga ada..itu kan bawaan dari sun, sedang validator itu dari apache, jakarta projek.

import classnya ya :

import org.apache.commons.validator. routines.FloatValidator;


gitu aja koq bro...

Offline Ahazveroz

  • myQ Perambah
  • *
  • Tgl Gabung: Nov 2007
  • Tulisan: 276
  • Lokasi: San Diego, CA
  • Jenis kelamin: Pria
    • Lihat Profil
« Jawab #5 pada: 08 April 2008, 11:44:33 »
mas-mas saya ada kesulitan import classnya nih
saya dah download dari jakarta apache dan ada file zip yang udah saya ekstrak di desktop dengan nama filenya

commons-validator-1.3.1

saya kan make compilernya Blue J
saat saya import saya cuma milih folder itu
terus diimport deh

setelah saya import mulai saya edit kodenya dengan instruksi yang mas berikan
tapi pas dicompile katanya ga ada class nya  :D

gmana dong nih solusinya :'(
"Gravity explains the motions of the planets, but it cannot explain who set the planets in motion. God governs all things and knows all that is or can be done."Isaac Newton

Offline GhiF

  • myQ Pejuang
  • *
  • Tgl Gabung: Apr 2006
  • Tulisan: 4.129
  • Lokasi: Depok
  • Jenis kelamin: Pria
  • . . . . . . .
    • Lihat Profil
« Jawab #6 pada: 08 April 2008, 11:49:59 »
library itu udah dimasukin di projectnya blum?
(\__/) Lembut tanpa ketegasan adalah kelemahan
(='.'=) Tegas tanpa kelembutan adalah kesewenangan
('')_('') Keduanya akan menimbulkan fitnah

(\__/) Kebaikan itu ada 2 pilar : Benar & Santun
(^_^) Benar ga Santun = bikin siapapun akan melecehkan kebenaran
('')_('')Santun ga Benar = Pendusta

Offline Ahazveroz

  • myQ Perambah
  • *
  • Tgl Gabung: Nov 2007
  • Tulisan: 276
  • Lokasi: San Diego, CA
  • Jenis kelamin: Pria
    • Lihat Profil
« Jawab #7 pada: 10 April 2008, 02:12:50 »
nah itu dia pegimana caranya yak :hihi:
saya ga pernah pake class laen selaen yang dari javanya sih :jaim:
"Gravity explains the motions of the planets, but it cannot explain who set the planets in motion. God governs all things and knows all that is or can be done."Isaac Newton

Offline thevaj

  • myQ Pro-Aktif
  • *
  • Tgl Gabung: Jan 2007
  • Tulisan: 929
  • Lokasi: jakarta
  • Jenis kelamin: Pria
  • cah moderat
    • Lihat Profil
« Jawab #8 pada: 10 April 2008, 09:33:07 »
btw, ente ngodingnya pake tools apa? netbeans, eclipse, ato manual pakai notpad?

Offline GhiF

  • myQ Pejuang
  • *
  • Tgl Gabung: Apr 2006
  • Tulisan: 4.129
  • Lokasi: Depok
  • Jenis kelamin: Pria
  • . . . . . . .
    • Lihat Profil
« Jawab #9 pada: 10 April 2008, 10:32:17 »
ya kalo mo bikin project kan musti nentuin dulu folder projectnya yang mao dipake dimana. Pindahin deh tuh librarynya di dalem folder project. misal bikin folder lagi namanya lib. didalemnya ada library2 laen yang akan dipake diaplikasi kita.

(\__/) Lembut tanpa ketegasan adalah kelemahan
(='.'=) Tegas tanpa kelembutan adalah kesewenangan
('')_('') Keduanya akan menimbulkan fitnah

(\__/) Kebaikan itu ada 2 pilar : Benar & Santun
(^_^) Benar ga Santun = bikin siapapun akan melecehkan kebenaran
('')_('')Santun ga Benar = Pendusta

Offline Ahazveroz

  • myQ Perambah
  • *
  • Tgl Gabung: Nov 2007
  • Tulisan: 276
  • Lokasi: San Diego, CA
  • Jenis kelamin: Pria
    • Lihat Profil
« Jawab #10 pada: 12 April 2008, 22:05:28 »
Saya coding and compilernya pake software namanya blue J soalnya dah dari kampus, kelas pemrograman emang pake ini compilernya(Java)
nah setelah saya download yang kelas common dari apache itu foldernya saya taro di deskto.
nah saya yang ga ngerti setelah saya klik import and edit code yang dah saya tulis pas dicompile class nya ga exist kata compilernya
pliz pliz mohon kesabarannya bantuin :toe:
"Gravity explains the motions of the planets, but it cannot explain who set the planets in motion. God governs all things and knows all that is or can be done."Isaac Newton

Offline anto

  • myQ Pro-Aktif
  • *
  • Tgl Gabung: Apr 2006
  • Tulisan: 802
  • Lokasi: jakarta-depok
  • Jenis kelamin: Pria
  • NEW ONE
    • Lihat Profil
« Jawab #11 pada: 23 April 2008, 09:55:13 »
Saya coding and compilernya pake software namanya blue J soalnya dah dari kampus, kelas pemrograman emang pake ini compilernya(Java)
nah setelah saya download yang kelas common dari apache itu foldernya saya taro di deskto.
nah saya yang ga ngerti setelah saya klik import and edit code yang dah saya tulis pas dicompile class nya ga exist kata compilernya
pliz pliz mohon kesabarannya bantuin :toe:

sama donk,di kampusku ,aku juga make BlueJ. jangan2 kita satu kampus....
bersihkan diri gapailah cinta, cinta.........ILLAHI

Offline Ahazveroz

  • myQ Perambah
  • *
  • Tgl Gabung: Nov 2007
  • Tulisan: 276
  • Lokasi: San Diego, CA
  • Jenis kelamin: Pria
    • Lihat Profil
« Jawab #12 pada: 24 April 2008, 03:07:18 »
serius  :(
saya di CA nih kampusnya
situ dmana  :)
"Gravity explains the motions of the planets, but it cannot explain who set the planets in motion. God governs all things and knows all that is or can be done."Isaac Newton

Offline Ahazveroz

  • myQ Perambah
  • *
  • Tgl Gabung: Nov 2007
  • Tulisan: 276
  • Lokasi: San Diego, CA
  • Jenis kelamin: Pria
    • Lihat Profil
« Jawab #13 pada: 24 April 2008, 03:32:50 »
Eh mas-mas yang dah bantuin makasih yah! akhirnya bisa juga
saya import and bikin package baru di proyek saya
dan ternyata berhasil. setiap saya masukin input yang bukan nomor
saya bikin supaya ngasih tau kalo inputnya ga valid dan langsut close program

tapi ada masalah lagi nih, saya pengen misalnya si user masukin input yang ga valid floatnya
and supaya dia enter lagi dari parsing pertama gmana yah pake if and loopingnya
nih kode yang dah saya ganti

Kode: [Pilih]
import java.io.*;
import javax.swing.*;
import MyPackage.FloatValidator;

class NumberTester
{
    public static void main(String[] args) throws IOException
    {
        String inData;
        float num=0, num2=0, avg;
       
        FloatValidator floatValidator = new FloatValidator();
     
       
        inData = JOptionPane.showInputDialog(null, "Enter an Integer Value.");
        if(floatValidator.isValid(inData))
        {
        num = Float.parseFloat( inData );
        }
        else
        {
            System.out.println("Invalid Input!");
            System.exit(0);
        }
       
        inData = JOptionPane.showInputDialog(null, "Enter another Integer Value.");
        if(floatValidator.isValid(inData))
        {
        num2 = Float.parseFloat( inData);
        }
        else
        System.out.println("Invalid Input!");
       
       
        avg = (num + num2)/2F;
       
        System.out.println("The average value is " + avg);
       
        System.out.println("Good-bye for now");
    }
}
"Gravity explains the motions of the planets, but it cannot explain who set the planets in motion. God governs all things and knows all that is or can be done."Isaac Newton

Offline dark_ipl

  • myQ Aktivis
  • *
  • Tgl Gabung: Apr 2006
  • Tulisan: 1.836
  • Lokasi: Bandung
  • Jenis kelamin: Pria
  • wink..
    • Lihat Profil
« Jawab #14 pada: 24 April 2008, 07:31:38 »
import MyPackage.FloatValidator;  << yang ini ngambil darimana ya?

edited
=========
udah ketemu.. kudu donlot .jar nya dulu..
http://repo1.maven.org/maven2/commons-validator/commons-validator/1.3.1/

tapi teteup gak ngerti pertanyaannya.. :hihi:

maap.. karna gak baca post sebelumnya.. %peace%
« Edit Terakhir: 24 April 2008, 07:53:31 oleh dark_ipl »
http://blog.dark-ipl.com ............................. ............