Mengapa Run dari Terminal Linux dan Run NetBeans berbeda Output?

Hallo, Ini Source Code saya, nah saat Run di NetBeans lancar, sesuai tanpa adanya bug dan sesuai. Tapi saat run di CMD maupun Terminal Linux menghasilkan output yang berbeda. Ada suatu Branch yang tidak dijalankan saat run di CMD maupun Terminal Linux. Ada yang tau penyebabnya?


<?java
package days.searching;
import javax.swing.*;
public class DaysSearching {

    public static void main(String[] args) {
        InputConsole ic = new InputConsole();
        Proses ar = new Proses();
        System.out.println("=======================================================================================================");
        System.out.println("                                         Java's Days Searching");
        System.out.println("=======================================================================================================");
        System.out.println("");
        System.out.println("");
        System.out.print("     Masukkan Tanggal : ");
        int h=ic.arI();
        System.out.print("     Masukkan Bulan   : ");
        String m=ic.arS();
        System.out.print("     Masukkan Tahun   : ");
        int t=ic.arI();

        if(t>1800&t<2300){
            int arx=ar.tahun(h, m, t);
            if (arx==0) {

            }
            else{
                String yui="";
                String kania="";
                if (arx%7==0) yui="Senin";
                if (arx%7==1) yui="Selasa";
                if (arx%7==2) yui="Rabu";
                if (arx%7==3) yui="Kamis";
                if (arx%7==4) yui="Jumat";
                if (arx%7==5) yui="Sabtu";
                if (arx%7==6) yui="Minggu";
                if (arx%5==0) kania="Pahing";
                if (arx%5==1) kania="Pon";
                if (arx%5==2) kania="Wage";
                if (arx%5==3) kania="Kliwon";
                if (arx%5==4) kania="Legi";

                System.out.println("");
                System.out.println("");
                System.out.println("=======================================================================================================");
                System.out.println("           HASIL:");
                System.out.println("");
                System.out.println(" Pada Tanggal "+h+" "+m+" "+t+" adalah Hari "+yui+" "+kania);
                System.out.println("");
                System.out.println("=======================================================================================================");
                System.out.println("                                                                                     by Arata Reito");
            }

        }
        else{
            JOptionPane.showMessageDialog(null,"TAHUN TERLALU JAUH UNTUK DIPREDIKSI,AKAN ADA KESALAHAN PERHITUNGAN KARENA TERJADINYA PERLAMBATAN ROTASI","ALLERT",1);
        }
    }
}
?>

<?java
package days.searching;
import java.io.*;
public class InputConsole {
    BufferedReader buf = new BufferedReader(new InputStreamReader(System.in),1);
    public String arS(){
        String arcox="";
        try{
            arcox=buf.readLine();
        }
        catch(IOException ex){
            System.out.println(ex);
        }
        return arcox;
    }
    public int arI(){
        return Integer.parseInt(arS());
    }
}
?>


<?java
    public int bulankabisat(String mm){
        int b;
        /*Sama seperti Method awal, ini adalah method 1.2
        */
        if ("Januari".equalsIgnoreCase(mm)) b=0;
        else if ("Februari".equalsIgnoreCase(mm)) b=31;
        else if ("Maret".equalsIgnoreCase(mm)) b=60;
        else if ("April".equalsIgnoreCase(mm)) b=91;
        else if ("Mei".equalsIgnoreCase(mm)) b=121;
        else if ("Juni".equalsIgnoreCase(mm)) b=152;
        else if ("Juli".equalsIgnoreCase(mm)) b=182;
        else if ("Agustus".equalsIgnoreCase(mm)) b=213;
        else if ("September".equalsIgnoreCase(mm)) b=244;
        else if ("Oktober".equalsIgnoreCase(mm)) b=274;
        else if ("November".equalsIgnoreCase(mm)) b=305;
        else if ("Desember".equalsIgnoreCase(mm)) b=335;
        else b=-1;
        return b;
    }
    public int tahun(int h, String mm, int t){
        /** Ini adalah method 2 dimana proses penginputan nilai b dari method 1 atau method 1.2
         * Disini nilai b akan diseleksi
         */
        int arx=0;
        if(((t%4==0)|(t%100!=0))&(t%400==0)){
            //seleksi apakah tahun kabisat atau tidak
            int b=bulankabisat(mm);
            if (b>=0){
                // Seleksi nilai b di tahun kabisat
                if (h<=31&h>0){
                    if((b==31&&h>29)|(b==91&&h>30)|(b==152&&h>30)|(b==244&&h>30)|(b==305&&h>30)){
                        //seleksi ketika input tanggal melebihi kalender
                        JOptionPane.showMessageDialog(null, "INPUT SALAH!","ERROR!",0);
                    }
                    else{
                        if(b>=60){
                            //seleksi tahun kabisat setelah bulan februari
                            int p=t/4;
                            int kab=t/100;
                            int kab2=t/400;
                            arx=((t-1)*365)+(p-kab+kab2)+(b)+(h-1);
                            //rumus hari
                        }
                        else{
                            //jika di tahun kabisat dibawah bulan februari
                            int p=(t-1)/4;
                            //dikurang satu karena menurut aturan baku, jika bulan diatas februari
                            int kab=(t-1)/100;
                            int kab2=(t-1)/400;
                            arx=((t-1)*365)+(p-kab+kab2)+(b)+(h-1);
                            //rumus hari
                        }
                    }
                }
                else{
                    //Ketika input tanggal salah atau tidak terdaftar
                    JOptionPane.showMessageDialog(null,"INPUT TANGGAL SALAH","ERROR!!",0);
                }
            }else{
                //Nilai b negatif yang menandakan nama bulan tidak terdaftar
                JOptionPane.showMessageDialog(null,"NAMA BULAN TIDAK ADA!!","ERROR",0);
            }
        }
        else{
            int b=bulan(mm);
            if (b>=0){
                //seleksi nilai b pada tahun bukan kabisat
                if (h<=31&h>0){
                    //seleksi jika melebihi tanggalan
                    if((b==31&h>28)|(b==90&h>30)|(b==151&h>30)|(b==243&h>30)|(b==304&h>30)){
                        //seleksi jika melebihi tanggalan
                        JOptionPane.showMessageDialog(null, "INPUT SALAH!","ERROR!",0);
                    }
                    else{
                        if(b>=60){
                            //seleksi diatas bulan februari
                            int p=Math.round(t)/4;
                            int bul=t/100;
                            int bul2=t/400;
                            arx=((t-1)*365)+(p-bul+bul2)+(b)+(h-1);
                            //rumus hari
                        }
                        if(b<60){
                            //dijalankan ketika input bulan januari atau februari
                            int p=(t-1)/4;
                            //dikurang satu karena menurut aturan baku, jika bulan diatas februari
                            int bul=(t-1)/100;
                            int bul2=(t-1)/400;
                            arx=((t-1)*365)+(p-bul+bul2)+(b)+(h-1);
                            //rumus hari
                        }

                    }
                }
                else{
                    //ketika input tanggal tidak valid
                    JOptionPane.showMessageDialog(null,"INPUT TANGGAL SALAH","ERROR!!",0);
                }
            }else{
                // ketika input bulan tidak terdaftar atau tidak valid
                JOptionPane.showMessageDialog(null,"BULAN TIDAK ADA!","ERROR!!",0);
            }
        }
        return arx;
    }
}
?>

Output di NetBeans

Output di Terminal Linux

avatar Robert55
@Robert55

1 Kontribusi 0 Poin

Dipost 7 tahun yang lalu

Belum ada Jawaban. Jadi yang pertama Jawaban

Login untuk ikut Jawaban