What's new

Closed Bonus (complete app) - mini database query

Status
Not open for further replies.

codyscott

Eternal Poster
Joined
Sep 13, 2017
Posts
388
Reaction
454
Points
279
Mga ka-tropa. Para sa inyo. Bonus.
Ito ay isang complete console app.
Tinawag ko na "Mini Database" kasi gumagamit lang siya ng Java Collection (or parang array) to store the data para sa query (insert, delete, search, view).

Learn, explore and improve it as you wish.

To be learned:
- LinkedList
- HashMap
- List
- Iterator
- Looping
- and most importantly "method and conquer" (gawa gawa ko lang, ibig kong sabihin, paggawa ng methods to simplify a complicated task)

INSTRUCTION: Create a Java Class and name it MainApp.java.
Copy and paste the text source code and compile.
Documentation is in the code.

Enjoy!
download screenshot and source code.
 

Attachments

Last edited:
you're welcome, 'tol.
i-dissect at pag-aralan mo yung concepts na ginamit.
very very useful mga yan.

take note on how I made so many functions or methods para hati-hatiin ang mga tasks.
Tuloy pag tinignan mo yung mga methods, sobrang ikli on most of them.

;)
 
Hi

Hindi ko nman po sinasabi na ayaw ko ng pera pero mas gusto ko parin matuto talaga. Ang dami ko natutunan sayo sir cody.
ok, man.
pag maliwanag na sa iyo ang topic, turuan mo mga classmates mo.
;)

there's a good career in Java..ang ibig kong sabihin
 
ok, man.
pag maliwanag na sa iyo ang topic, turuan mo mga classmates mo.
;)

there's a good career in Java..ang ibig kong sabihin
Opo sir ang laki talaga ng tulong nyo sir samen. Sir sana po pag patuloy nyo lang po ang pag tuturo ng java. Salamat po sa mga tutorial sir cody and god bless po always.
 
ok, man.
pag maliwanag na sa iyo ang topic, turuan mo mga classmates mo.
;)

there's a good career in Java..ang ibig kong sabihin
Sir ok lang po ba mag tanong, ask ko lang po mag kapareho lang po ba ang concept ng gawa nyo sa mga ibang database tulad ng mysql at saka php saka po in the near future if gagawa po ako ng site pwede ko po ba i apply tong mini database na concept or hndi po pwede.
 
Sir ok lang po ba mag tanong, ask ko lang po mag kapareho lang po ba ang concept ng gawa nyo sa mga ibang database tulad ng mysql at saka php saka po in the near future if gagawa po ako ng site pwede ko po ba i apply tong mini database na concept or hndi po pwede.

the whole concept is exactly the same.
- you can actually use the whole structure nitong app na ito.
 
Sir pano ko to ma e aapply sa OOP
Diba sa oop nag seset tayo sa get
E pag neg set tayo sample ng name meron na tayong nilagay na name. Pag gumamit tayo ng Scanner kukunin naten yung input ng user. Edi mababalewala yung senet naten na mga mga info.
 
Sir pano ko to ma e aapply sa OOP
Diba sa oop nag seset tayo sa get
E pag neg set tayo sample ng name meron na tayong nilagay na name. Pag gumamit tayo ng Scanner kukunin naten yung input ng user. Edi mababalewala yung senet naten na mga mga info.

not really.

Here's a scenario:
1) let's say we have a database
2) the database has NAME, AGE, COURSE, SCHOOL fields

In procedural programming ang pag INPUT ng laman to the database ay parang ganito:
1) hey database, here's "Jose Santos", "20 years old", "BS Accountancy", 'FEU"...store it

And still in procedural programming ang pag OUTPUT ng laman ng database ay parang ganito:
1) hey database, I want "Jose Santos", "20 years old", "BS Accountancy", 'FEU"...give it to me

PERO in OOP, iba. Parang ganito na ang procedure ng pag SET to the database (somewhat)
1) hey database, here's a STUDENT...store it

Tapos in OOP pa rin, ganito na ang procedure ng pag GET from the database (somewhat)
1) hey database, I want this STUDENT...give it to me.

I hope yan ang tinatanong mo. Let me know kung gusto mo pa ng iba pang sample.
 
not really.

Here's a scenario:
1) let's say we have a database
2) the database has NAME, AGE, COURSE, SCHOOL fields

In procedural programming ang pag INPUT ng laman to the database ay parang ganito:
1) hey database, here's "Jose Santos", "20 years old", "BS Accountancy", 'FEU"...store it

And still in procedural programming ang pag OUTPUT ng laman ng database ay parang ganito:
1) hey database, I want "Jose Santos", "20 years old", "BS Accountancy", 'FEU"...give it to me

PERO in OOP, iba. Parang ganito na ang procedure ng pag SET to the database (somewhat)
1) hey database, here's a STUDENT...store it

Tapos in OOP pa rin, ganito na ang procedure ng pag GET from the database (somewhat)
1) hey database, I want this STUDENT...give it to me.

I hope yan ang tinatanong mo. Let me know kung gusto mo pa ng iba pang sample.
Sige sir pa sample pa ulet ako medyo hindi ko na gets. Ok lang po ba? Baka nakaistorbo nman po ako sa inyo sir cody.
 
Heto, pag-aralan mo ito.
Very simple flow... very simple OOP

Code:
import java.util.ArrayList;
import java.util.Scanner;

public class MainApp {
    static Scanner userInput = new Scanner(System.in);
    static ArrayList<Student> database = new ArrayList<>();
  
    public static void main(String[] args) throws InterruptedException {
        //1. Let's ask user for their name, age, course
        System.out.print("Input name: ");
        String nameFromUser = userInput.nextLine();
      
        System.out.print("Input age: ");
        int ageFromUser = userInput.nextInt();
      
        System.out.print("Input course: ");
        String courseFromUser = userInput.next();
      
        System.out.println();
        System.out.println();
      
        Thread.sleep(4000); //pause lang tayo ng 4 seconds before we do next operation (not OOP, pakwela lang)
      
        //2. Let's create a STUDENT object (this is OOP na)
        Student estudyante = new Student();
        //2a. Then let's input the data na binigay ng user
        estudyante.setName(nameFromUser);
        estudyante.setAge(ageFromUser);
        estudyante.setCourse(courseFromUser);
      
        //from this point, you can use ESTUDYANTE object to whatever you want
        //puwede mong ibato sa database
        //puwede mong i-store sa isang array
        //use and abuse. Kumbaga isang bit-bitan na lang. You look at it as a single OBJECT
        //or isipin mo lang "isang studyante" lang ito. You don't worry about details or data
        //***this is one of the conveniences of OOP***
      
      
        //3. Let's say you want to store it in an array para
        //ma-simulate natin yung query (let's use ArrayList)
        database.add(estudyante); // take note: we stored the OBJECT (wala tayong paki sa name, age, course)
      
        //4. Let's do a query, kunyari mag e-enter ang user ng name
        System.out.print("Enter name to search: ");
        String nameToSearch = userInput.next();
      
        //5. And here we can call kunyari a search method
        for(Student s : database){
            String databaseName = s.getName();
            if(databaseName.equals(nameToSearch)){
                System.out.println("Yes, " + nameToSearch + " is found.");
            }
        }
      
    }

}



/**
 * This is the class for Student
 * (ito yung template pang gagawa ng OBJECT)
 * Usually, this is on a separate file.
 */
class Student{
    private String name;
    private int age;
    private String course;
  
    //setter methods
    public void setName(String n){
        name = n;
    }
    public void setAge(int a){
        age = a;
    }
    public void setCourse(String c){
        course = c;
    }
  
    //getter methods
    public String getName(){
        return name;
    }
    public int getAge(){
        return age;
    }
    public String getCourse(){
        return course;
    }
  
}

Ulit ulitin mong basahin or ulit-ulitin mong i-code..... sooner or later, magki-click din ang idea ng OOP sa utak mo. ;)
 
Heto, pag-aralan mo ito.
Very simple flow... very simple OOP

Code:
import java.util.ArrayList;
import java.util.Scanner;

public class MainApp {
    static Scanner userInput = new Scanner(System.in);
    static ArrayList<Student> database = new ArrayList<>();
 
    public static void main(String[] args) throws InterruptedException {
        //1. Let's ask user for their name, age, course
        System.out.print("Input name: ");
        String nameFromUser = userInput.nextLine();
     
        System.out.print("Input age: ");
        int ageFromUser = userInput.nextInt();
     
        System.out.print("Input course: ");
        String courseFromUser = userInput.next();
     
        System.out.println();
        System.out.println();
     
        Thread.sleep(4000); //pause lang tayo ng 4 seconds before we do next operation (not OOP, pakwela lang)
     
        //2. Let's create a STUDENT object (this is OOP na)
        Student estudyante = new Student();
        //2a. Then let's input the data na binigay ng user
        estudyante.setName(nameFromUser);
        estudyante.setAge(ageFromUser);
        estudyante.setCourse(courseFromUser);
     
        //from this point, you can use ESTUDYANTE object to whatever you want
        //puwede mong ibato sa database
        //puwede mong i-store sa isang array
        //use and abuse. Kumbaga isang bit-bitan na lang. You look at it as a single OBJECT
        //or isipin mo lang "isang studyante" lang ito. You don't worry about details or data
        //***this is one of the conveniences of OOP***
     
     
        //3. Let's say you want to store it in an array para
        //ma-simulate natin yung query (let's use ArrayList)
        database.add(estudyante); // take note: we stored the OBJECT (wala tayong paki sa name, age, course)
     
        //4. Let's do a query, kunyari mag e-enter ang user ng name
        System.out.print("Enter name to search: ");
        String nameToSearch = userInput.next();
     
        //5. And here we can call kunyari a search method
        for(Student s : database){
            String databaseName = s.getName();
            if(databaseName.equals(nameToSearch)){
                System.out.println("Yes, " + nameToSearch + " is found.");
            }
        }
     
    }

}



/**
 * This is the class for Student
 * (ito yung template pang gagawa ng OBJECT)
 * Usually, this is on a separate file.
 */
class Student{
    private String name;
    private int age;
    private String course;
 
    //setter methods
    public void setName(String n){
        name = n;
    }
    public void setAge(int a){
        age = a;
    }
    public void setCourse(String c){
        course = c;
    }
 
    //getter methods
    public String getName(){
        return name;
    }
    public int getAge(){
        return age;
    }
    public String getCourse(){
        return course;
    }
 
}

Ulit ulitin mong basahin or ulit-ulitin mong i-code..... sooner or later, magki-click din ang idea ng OOP sa utak mo. ;)
Sir salamat dito uulit ulitin ko talaga e code to saka basahin. Ang galing nyo po talaga mag paliwanag sir cody sana maraming pang java tut ang dumating sa group sir cody.
 
Sir salamat dito uulit ulitin ko talaga e code to saka basahin. Ang galing nyo po talaga mag paliwanag sir cody sana maraming pang java tut ang dumating sa group sir cody.
you are welcome, 'tol.
no problem. Pag may magtanong at alam ko, i will try my best to explain in very simple way.
;)
 
you are welcome, 'tol.
no problem. Pag may magtanong at alam ko, i will try my best to explain in very simple way.
;)
Sir heto po yung gawa ko sample lang gusto ko kasi e practise yung oop ko.

Code:
public class MainFruit
{
    private static Scanner userInput;
    private static ArrayList<Fruit> database;
    private static String nameFromUser;
    private static Fruit prutas;
   
    public static void main (String [] args) throws InterruptedException{
       
        initializeUserInput();
       
        initializeDataBase();
       
        Thread.sleep(4000);
       
        System.out.println();
        System.out.println();
        System.out.println();
       
        createFruit();
       
        storeInDataBase();
       
        searchFruit();
       
       
    }
   
    static void initializeUserInput(){
        userInput = new Scanner(System.in);
       
        System.out.println("Input Name Of Fruit: ");
        nameFromUser = userInput.nextLine();
    } 
   
    static void initializeDataBase(){
        database = new ArrayList<>();
    }
   
    static void createFruit(){
       
        prutas = new Fruit();
        prutas.setName(nameFromUser);
    }
   
    static void storeInDataBase(){
        database.add(prutas);
    }
   
    static void searchFruit(){
        System.out.println("Seach Name Of Fruit: ");
        String nameToSearch = userInput.next();
        for(Fruit s: database){
            String databaseName = s.getName();
            if(databaseName.equals(nameToSearch)){
                System.out.println("Yes We Found " + nameToSearch);
            }else{
                System.out.println("Sorry Not Found");
            }
        }
    }
}








public class Fruit
{
    private String name;
    private int numberOfFruit;
    private int price;
   
//setter
    public void setName(String name){
        this.name = name;
    }
   
    public void setNumberaOfFruit(int numberOfFruit){
        this.numberOfFruit = numberOfFruit;
    }
   
    public void setPrice(int price){
        this.price = price;
    }

//getter   
    public String getName(){
        return name;
    }
   
    public int getNumberIfFruit(){
        return numberOfFruit;
    }
   
    public int getPrice(){
        return price;
    }
}
 
very nice and I am impressed, 'tol.
good job.
Ang galing nyo po kasi mag turo sir cody at gusto ko pa lalo matuto sa inyo kaya nga lagi ako nag aabang ng mga tut nyo dito sa group saka kahit yung mga pag tulong nyo sa iba kinukuha ko din para mapag aralan ko. Pero kulang pa talaga ang nalalaman ko kaya gusto ko pa talaga matuto mula sa inyo.
 
Status
Not open for further replies.

Similar threads

Back
Top