ArrayList - problem z iteracją

0

Cześć,
Usiłuję w drugim pliku przeiterować ArrayListe.
Pobiera mi liczbę elementów ale z jakichś powodów nie chce podać zawartości.
Plik źródłowy:

package Testy;

import java.util.ArrayList;
import java.util.List;

public class PS {
	public PS(int eno, String name, String adress) {	
	}
		public static List<PS> PS () {
			ArrayList<PS> PS = new ArrayList<PS>();
	
			PS obj1 =new PS(101, "JK", "Warszawa");
			PS obj2 =new PS(102, "MW", "Kraków");
			PS obj3 =new PS(103, "MK", "Wrocław");
			
			PS.add(obj1);
			PS.add(obj2);
			PS.add(obj3);

			return PS;	
		}
}

Natomiast plik, w którym chcę odebrać dane wygląda:


package Testy;

import java.util.List;

import insertSerwis.Listy;

public class ListaReceiver extends PS{

	public ListaReceiver(int eno, String name, String adress) {
		super(eno, name, adress);
	}

	public static void main(String[] args) {
		List<Testy.PS> PS = Testy.PS.PS();
		System.out.println("PartnerzySerwisowi.get(2) = " + PS.get(2));
		System.out.println("Ilość elementów na liście: " + PS.size());
		
		for (Testy.PS ob : PS ) {
	
			System.out.println("Employee ");
			System.out.println("No: "+ob.eno);
			System.out.println("name: "+ob.name);
			System.out.println("adress: "+ob.adress);
		}
	}
}

Ten fragment z iterowaniem nie chodzi i nie wiem czemu.

0

Łatwiej by sie to czytało, jakby każda rzecz nie nazywała się tak samo... (PS)
Btw masz konstruktor, który mimo posiadania argumentów nic nie robi

3

Problemem nie jest na pewno, że ten fragment z iterowaniem nie chodzi.
Prawdziwy problem to byłby gdyby ten kod Ci się kompilował.

0

Problemem dla mnie jest to, że te linijki nie chodzą

		//	System.out.println("No: "+ob.eno);
		//	System.out.println("name: "+ob.name);
		//	System.out.println("adress: "+ob.adress);

Jak je wykomentuję to nie ma problemu z kompilacją.

0

Twoja klasa PS nie ma pól eno, name i adress

0

Dzięki, w Java SE chodzi. Mam jeszcze pytanie odnośnie iterowania listy w JSP.
Klasa, która chodzi wygląda tak

package sprawdzanieCen;

import java.util.List;

public class SprawdzanieCenOdebranieListy extends SprawdzanieCen{
	public SprawdzanieCenOdebranieListy(String nrFaktury, String nrKlienta, String nazwaKlienta, String nrCzesciZFaktury, double cenazfaktury, double cenaZcennika ) {
		super( nrFaktury, nrKlienta, nazwaKlienta, nrCzesciZFaktury, cenazfaktury, cenaZcennika);
	
	}

		public static void main(String[] args) throws ClassNotFoundException {
			List<SprawdzanieCen> PaS = SprawdzanieCenLista.PS();
			System.out.println("Ilość elementów na liście: " + PaS.size());
			
			for (SprawdzanieCen ob : PaS ) {
				System.out.println("nrFaktury: "+ob.nrFaktury);
				System.out.println("nrKlienta: "+ob.nrKlienta);
				System.out.println("nazwaKlienta: "+ob.nazwaKlienta);
				System.out.println("nrCzesciZFaktury: "+ob.nrCzesciZFaktury);
				System.out.println("cenazfaktury: "+ob.cenazfaktury);
				System.out.println("cena z cennika "+ob.cenaZcennika);
			}
		}
	}

Wyświetla się. Ja bym jednak chciał by lista wyświetlała mi się w JSP
Plik JSP wygląda tak

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="sprawdzanieCen.*"%>
<%@taglib prefix=c uri=http://java.sun.com/jsp/jstl/core %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Sprawdzanie Cen</title>
</head>
<body>
<c:forEach items="${PS}" var ="s">
${s.nrFaktury}
</c:forEach>
</body>
</html>

Eclipse wyświetla mi błąd przy taglib (jest w złym miejscu? próbowałem różnie ale na czerwono pali się zawsze. I z tego powodu pewnie nie chodzi.

0
frankiejojo napisał(a):

Dzięki, w Java SE chodzi. Mam jeszcze pytanie odnośnie iterowania listy w JSP.
Klasa, która chodzi wygląda tak

package sprawdzanieCen;

import java.util.List;

public class SprawdzanieCenOdebranieListy extends SprawdzanieCen{
	public SprawdzanieCenOdebranieListy(String nrFaktury, String nrKlienta, String nazwaKlienta, String nrCzesciZFaktury, double cenazfaktury, double cenaZcennika ) {
		super( nrFaktury, nrKlienta, nazwaKlienta, nrCzesciZFaktury, cenazfaktury, cenaZcennika);
	
	}

		public static void main(String[] args) throws ClassNotFoundException {
			List<SprawdzanieCen> PaS = SprawdzanieCenLista.PS();
			System.out.println("Ilość elementów na liście: " + PaS.size());
			
			for (SprawdzanieCen ob : PaS ) {
				System.out.println("nrFaktury: "+ob.nrFaktury);
				System.out.println("nrKlienta: "+ob.nrKlienta);
				System.out.println("nazwaKlienta: "+ob.nazwaKlienta);
				System.out.println("nrCzesciZFaktury: "+ob.nrCzesciZFaktury);
				System.out.println("cenazfaktury: "+ob.cenazfaktury);
				System.out.println("cena z cennika "+ob.cenaZcennika);
			}
		}
	}

Wyświetla się. Ja bym jednak chciał by lista wyświetlała mi się w JSP
Plik JSP wygląda tak

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" import="sprawdzanieCen.*"%>

//C jest w cudzysłowie i cały link od HTTP do core jest w cudzysłowie

<%@taglib prefix=c uri=http://java.sun.com/jsp/jstl/core %>

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Sprawdzanie Cen</title> </head> <body> <c:foreach items="${PS}" var="s"> ${s.nrFaktury} </c:foreach> </body> </html> ``` Eclipse wyświetla mi błąd przy taglib (jest w złym miejscu? próbowałem różnie ale na czerwono pali się zawsze. I z tego powodu pewnie nie chodzi.

C jest w cudzysłowie i cały link od HTTP do core jest w cudzysłowie

1 użytkowników online, w tym zalogowanych: 0, gości: 1