Tugas Array dan Inheritance Kelompok 12


Soal:

Revise the class OneWayNoRepeatsList, as given in Listing 7.9, so that is it allocates an extra element in the array entry and ignores entry [0], as suggested earlier near the end of the section entitled “More About Array Indices”.

Penjelasan soal:

kita akan merevisi class OneWayNoRepeatsList seperti pada Listing 7.9 agar elemennya bisa di tambah dan mengabaikan indeks [0]-nya.

Script Code :

package listdemo1;

import java.util.*;

public class ListDemo1 {

public static final int MAX_SIZE = 3; //Assumed > 0

public static void main(String[] args)

{

OneWayNoRepeatsList toDoList = new OneWayNoRepeatsList(MAX_SIZE);

System.out.println("Masukan Item :");

boolean moreEntries = true;

String next = null;

Scanner keyboard = new Scanner(System.in);

while (moreEntries && !toDoList.isFull())

{

System.out.println("item :");

next = keyboard.nextLine();

toDoList.addItem(next);

if (toDoList.isFull())

{

System.out.println("List is now full.");

}

else

{

System.out.print("item lain? ");

String ans = keyboard.nextLine();

if (ans.trim().equalsIgnoreCase("no"));

moreEntries = false; //User says no more

}

}

System.out.println("The list contains:");

int position = OneWayNoRepeatsList.START_POSITION;

next = toDoList.getEntryAt(position);

while (next != null) //null indicates end of list

{

System.out.println(next);

position++;

next = toDoList.getEntryAt(position);

}

}

}

class OneWayNoRepeatsList :

package listdemo1;

class OneWayNoRepeatsList {

public static int START_POSITION = 1;

public static int DEFAULT_SIZE = 50;

private int countOfEntries;

private String [] entry;

public OneWayNoRepeatsList(int maximumNumberOfEntries){

entry = new String [maximumNumberOfEntries];

countOfEntries = 0;

}

public OneWayNoRepeatsList(){

entry = new String[DEFAULT_SIZE];

countOfEntries = 0;

}

public boolean isFull(){

return countOfEntries == entry.length;

}

public boolean isEmpty(){

return countOfEntries == 0;

}

public void addItem(String item){

if (!isOnList(item)){

if (countOfEntries == entry.length){

System.out.println(“adding to a full list!”);

System.exit(0);

}else{

entry[countOfEntries] = item;

countOfEntries++;

}

}

}

public String getEntryAt(int position){

String result = null;

if ((1<= position) && (position <= countOfEntries))

result = entry[position -1];

return result;

}

public boolean atLastEntry(int position){

return position == countOfEntries;

}

public boolean isOnList(String item){

boolean found = false;

int i=0;

while (!found && (i<countOfEntries)){

if (item.equalsIgnoreCase(entry[i]))

found = true;

else

i++;

}

return found;

}

public int getMaximumNumberOfEntries(){

return entry.length;

}

public int getNumberOfEntries(){

return countOfEntries;

}

public void eraseList(){

countOfEntries = 0;

}

}

Outputnya :

Kelompok :

java_14_12

Novrisa Dias P 1202164035

Raden Ichsan Achmad F 1202160362

SI – 40 – 03


Leave a Reply