package tugasSD;
/**
 *
 * @author Afini_
 */
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import javax.swing.*;
import java.util.ArrayList;
public class Inteporasi_Linier_ArrayList {
    static  ArrayList  datax = new ArrayList();
    static  ArrayList  datay = new  ArrayList();
    static  ArrayList hasila = new  ArrayList();
    static  ArrayList hasilb = new  ArrayList();
    static  ArrayList hasilubahtes = new  ArrayList();
    static  ArrayList hasilc = new  ArrayList();
    static  ArrayList  X = new  ArrayList ();
    public static void main(String[] arg) {
        String jmlkmpk = JOptionPane.showInputDialog(null, "Inputan Data Maksimal 8 data");
        double a= Double.parseDouble(jmlkmpk);
        if (a <= 8) {
            for (int i = 0; i < a; i++) {
                System.out.print("masukan nilai ke X " + (i + 1) + " : ");
                 double x=inputdata();
                 datax.add(x);
                System.out.print("masukan nilai ke Y " + (i + 1) + " : ");
                 double y=inputdata();
                 datay.add(y);
        }
        CetakDatax(hasila);
        CetakDatay(hasilb);
         int ulang=0;
        do{
         String m = JOptionPane.showInputDialog(null,"Silahkan pilih angka menu untuk edit data : \n"
              + " 1. Hitung data \n"
              + " 2. Penyisipan data \n"
              + " 3. Tambah data \n"
              + " 4. Hapus data \n"
              + " 88. Keluar");
int c = Integer.parseInt(m);
switch (c){
case 1:
        //Hitung data
        seleksi();
        System.out.println();
        ulang=1;
        break;
case 2:
        //Merubah data
       ubahtes(hasilubahtes);
        //Mencetak data
        CetakDatax(hasila);
        CetakDatay(hasilb);
        seleksi();
        System.out.println();
        ulang=1;
        break;
case 3:
        //Tambah data
        tambah(hasilc);
        //Mencetak data
       CetakDatax(hasila);
       CetakDatay(hasilb);
        seleksi();
        System.out.println();
        ulang=1;
        break;
 case 4:
        //Menghapus data
        Hapus(datax);
        Hapusy(datay);
        //mencetak data
        CetakDatax(hasila);
        CetakDatay(hasilb);
        System.out.println();
        ulang=1;
        break;
  case 88:
               //keluar
         System.exit(ulang);
              break;
           default:
               System.out.println("Tidak ada dalam pilihan");
               break;
      }
      }  while(ulang==1);
        }
        }
     static double inputdata() {
         BufferedReader bfr=new BufferedReader(new InputStreamReader(System.in));
    String angkaInput=null;
    try{
        angkaInput=bfr.readLine();
    }catch (IOException e){
        e.printStackTrace();
    }
    double Data=Double.valueOf(angkaInput).doubleValue();
    return Data;
    }
 private static  void CetakDatax( ArrayList hasila) {
      System.out.println("\nData urut :");
   for (int h=0; h hasilc) {
         String nilaiSisip = JOptionPane.showInputDialog(null,"Masukkan Penambahan angka data X ");
      double x = Double.parseDouble(nilaiSisip);
      datax.add(x);
    String nilaiSisipy = JOptionPane.showInputDialog(null,"Masukkan Penambahan angka data Y");
      double y = Double.parseDouble(nilaiSisipy);
      datay.add(y);
      return hasilc;
    }
    private static ArrayList Hapus(ArrayList datax) {
         double yangDihapus = 0;
        int ulang=0;
        do{
        String nilaiHapus = JOptionPane.showInputDialog(null, "Masukkan angka data X yang akan dihapus");
        yangDihapus = Double.parseDouble(nilaiHapus);
        if (datax.contains(yangDihapus)) {
            datax.remove(yangDihapus);
        } else  {
            JOptionPane.showMessageDialog(null, "Maaf, angka yang dihapus tidak ada!");
          ulang=0;
        }
        }while(ulang==1);
        return datax;
    }
    private static ArrayList Hapusy(ArrayList datay) {
         double yangDihapus = 0;
        int ulang=0;
        do{
        String nilaiHapus = JOptionPane.showInputDialog(null, "Masukkan angka data Y yang akan dihapus");
        yangDihapus = Double.parseDouble(nilaiHapus);
        if (datay.contains(yangDihapus)) {
            datay.remove(yangDihapus);
        } else  {
            JOptionPane.showMessageDialog(null, "Maaf, angka yang dihapus tidak ada!");
          ulang=0;
        }
        }while(ulang==1);
        return datay;
    }
    }