05 nakupovalni sistem - Starc Aljaz¶
./src/zbirke/Seznam.java
package zbirke;
public class Seznam {
private static String[] nizi;
/**
* @return stevilo elementov v listu nizi
*/
private static int niziCount () {
int count = 0;
for (String item: nizi) {
if (item != null) count++;
}
return count;
}
// 2.
public static boolean narediSeznam (int n) {
if (n <= 0 || nizi != null) return false;
nizi = new String[n];
return true;
}
// 3.
public static boolean dodajNaKonecSeznama (String element) {
try {
nizi[niziCount()] = element;
return true;
} catch (Exception e) {
return false;
}
}
// 4.
public static void izpisiSeznam() {
if (nizi == null) System.out.println("NAPAKA: Seznam ne obstaja.");
else if (niziCount() == 0) System.out.println("Seznam je prazen (nima elementov).");
else {
System.out.println("Na seznamu so naslednji elementi:");
for (int i=0;i<niziCount();i++) System.out.format("%d: %s%n", i+1, nizi[i]);
}
}
/**
* 5. Odstani element iz seznama
*
* @param mesto mesto elementa [1, ->]
* @return Vrednost odstranjenega elementa ali null
*/
public static String odstraniIzSeznama(int mesto) {
try {
if (
mesto <= 0 ||
mesto > nizi.length ||
nizi[mesto - 1] == null
) return null;
String el = nizi[mesto - 1];
for (int i = mesto-1; i<niziCount(); i++) {
if (i == nizi.length-1) nizi[i] = null;
else nizi[i] = nizi[i + 1];
}
return el;
} catch (Exception e) {
return null;
}
}
/**
* 6. dodaj element v seznam na doloceno mesto
* - ce je mesto preveliko bo element dodan na konec seznama
* - ce je mesto isto ali enako 0 return-a false
* - ce je
*
* @param element vrednost elementa, ki naj bo dodan
* @param mesto mesto v seznamu [1, ->] kamor naj bo element postavljen
* @return any je bil element uspesno dodan
*/
public static boolean dodajVSeznam(String element, int mesto) {
try {
if (mesto <= 0) return false;
nizi[mesto >= nizi.length ? niziCount() : mesto] = element;
return true;
} catch (Exception e) {
return false;
}
}
/**
* 7. pridobi stevilo elementov v seznamu
* - v primeru da seznam ni initializiran vrne vrednost -1
* sicer pa vrne stevilo elementov v listi
*
* @return vrne st. elementov v seznamu [-1, 1, ->]
*/
public static int dolzinaSeznama () {
return nizi == null ? -1 : niziCount();
}
/**
* 8. unici seznam
* false - ce je seznam se neinitializiran
* true - ce je seznam uspesno unicen
*
* @return ali je bil uspesno unicen
*/
public static boolean uniciSeznam () {
if (nizi == null) return false;
nizi = null;
return true;
}
}
Zadnja posodobitev:
April 5, 2022