Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di Albsss
    Registrato dal
    Nov 2012
    Messaggi
    11

    ricerca combinata in java

    salve ragazzi...ho bisogno di un aiutino nella programmazione java...allora io ho fatto un programma per la gestione di una segreteria scolastica e funziona abbastanza correttamente...il fatto è che la vorrei fare un pò più "elaborata"....mi spiego meglio...quando vado a ricercare nei file il nome o il cognome o la matricola dello studente il programma mi stampa a video tutte le informazioni possibili...quello che io vorrei fare è una ricerca combinata,cioè ricercare dati nome e cognome oppure cognome e matricola oppure altre combinazioni,tutto ciò che si sa sullo studente...spero che qualcuno mi possa aiutare a modificare il programma...grazie

  2. #2
    posta il codice di quello che hai prodotto e ti aiuteremo
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

  3. #3
    Utente di HTML.it L'avatar di Albsss
    Registrato dal
    Nov 2012
    Messaggi
    11
    si è vero...sorry :doh: questo è il programma che ho fatto:
    CLASSE ESAMI:
    import java.io.PrintStream;
    import java.util.Scanner;


    public class Esami {

    private Esami(String nomeProf, String cognomeProf, String titoloEsame,String codiceEsame) {
    this.nomeProf = nomeProf;
    this.cognomeProf = cognomeProf;
    this.titoloEsame = titoloEsame;
    this.codiceEsame = codiceEsame;
    }

    public String getNomeProf() {
    return nomeProf;
    }
    public void setNomeProf(String nomeProf) {
    this.nomeProf = nomeProf;
    }
    public String getCognomeProf() {
    return cognomeProf;
    }
    public void setCognomeProf(String cognomeProf) {
    this.cognomeProf = cognomeProf;
    }
    public String getTitoloEsame() {
    return titoloEsame;
    }
    public void setTitoloEsame(String titoloEsame) {
    this.titoloEsame = titoloEsame;
    }
    public String getCodiceEsame() {
    return codiceEsame;
    }
    public void setCodiceEsame(String codiceEsame) {
    this.codiceEsame = codiceEsame;
    }

    @Override
    public String toString() {
    return "Esami [nomeProf=" + nomeProf + ", cognomeProf=" + cognomeProf
    + ", titoloEsame=" + titoloEsame + ", codiceEsame="
    + codiceEsame + "]";
    }

    public static Esami read(Scanner sc){

    if(!sc.hasNext())return null;
    String nomeProf = sc.nextLine();
    if(!sc.hasNext())return null;
    String cognomeProf = sc.nextLine();
    if(!sc.hasNext())return null;
    String titoloEsame = sc.nextLine();
    if(!sc.hasNext())return null;
    String codiceEsame = sc.nextLine();

    return new Esami(nomeProf,cognomeProf,titoloEsame,codiceEsame );
    }

    public void print(PrintStream ps){
    ps.println(nomeProf);
    ps.println(cognomeProf);
    ps.println(titoloEsame);
    ps.println(codiceEsame);
    }

    private String nomeProf,cognomeProf,titoloEsame,codiceEsame;
    }
    CLASSE ESAMI SVOLTI:
    import java.io.PrintStream;
    import java.util.Scanner;


    public class EsamiSvolti {

    private EsamiSvolti(String matricola, String codiceEsame, String data, String voto) {
    super();
    this.matricola = matricola;
    this.codiceEsame = codiceEsame;
    this.data = data;
    this.voto = voto;
    }

    public String getMatricola() {
    return matricola;
    }

    public void setMatricola(String matricola) {
    this.matricola = matricola;
    }

    public String getCodiceEsame() {
    return codiceEsame;
    }

    public void setCodiceEsame(String codiceEsame) {
    this.codiceEsame = codiceEsame;
    }

    public String getData() {
    return data;
    }

    public void setData(String data) {
    this.data = data;
    }

    public String getVoto() {
    return voto;
    }

    public void setVoto(String voto) {
    this.voto = voto;
    }

    @Override
    public String toString() {
    return "EsamiSvolti [matricola=" + matricola + ", codiceEsame="
    + codiceEsame + ", data=" + data + ", voto=" + voto + "]";
    }

    public static EsamiSvolti read(Scanner sc){

    if(!sc.hasNext())return null;
    String matricola = sc.nextLine();
    if(!sc.hasNext())return null;
    String codiceEsame = sc.nextLine();
    if(!sc.hasNext())return null;
    String data = sc.nextLine();
    if(!sc.hasNext())return null;
    String voto = sc.nextLine();

    return new EsamiSvolti(matricola,codiceEsame,data,voto);
    }

    public void print(PrintStream ps){
    ps.println(matricola);
    ps.println(codiceEsame);
    ps.println(data);
    ps.println(voto);
    }

    private String matricola,codiceEsame,data,voto;
    }
    CLASSE STUDENTE:
    import java.io.PrintStream;
    import java.util.Scanner;


    public class Studente {
    public Studente(String nome,String cognome,String matricola){
    this.nome = nome;
    this.cognome = cognome;
    this.matricola = matricola;
    }

    public String getNome() {
    return nome;
    }
    public void setNome(String nome) {
    this.nome = nome;
    }
    public String getCognome() {
    return cognome;
    }
    public void setCognome(String cognome) {
    this.cognome = cognome;
    }
    public String getMatricola() {
    return matricola;
    }
    public void setMatricola(String matricola) {
    this.matricola = matricola;
    }

    @Override
    public String toString() {
    return "Studente [nome=" + nome + ", cognome=" + cognome
    + ", matricola=" + matricola + "]";
    }

    public static Studente read(Scanner sc){

    if(!sc.hasNext())return null;
    String nome = sc.nextLine();
    if(!sc.hasNext())return null;
    String cognome = sc.nextLine();
    if(!sc.hasNext())return null;
    String matricola = sc.nextLine();

    return new Studente(nome,cognome,matricola);
    }

    public void print(PrintStream ps){
    ps.println(nome);
    ps.println(cognome);
    ps.println(matricola);
    }
    private String nome,cognome,matricola;
    }
    GESTORE:
    import java.io.PrintStream;
    import java.util.ArrayList;
    import java.util.Scanner;


    public class Gestore {
    public Gestore(Scanner stud,Scanner esa,Scanner esaSvo){
    studente = new ArrayList<Studente>();
    Studente s = Studente.read(stud);
    while(s != null){
    studente.add(s);
    s = Studente.read(stud);
    }
    esami = new ArrayList<Esami>();
    Esami e = Esami.read(esa);
    while(e != null){
    esami.add(e);
    e = Esami.read(esa);
    }
    esamiSvolti = new ArrayList<EsamiSvolti>();
    EsamiSvolti es = EsamiSvolti.read(esaSvo);
    while(es != null){
    esamiSvolti.add(es);
    es = EsamiSvolti.read(esaSvo);
    }
    }

    public void printSegreteria(PrintStream ps){
    ps.println("SEGRETERIA STUDENTI");
    for(Studente a : studente){
    a.print(ps);
    ps.println("---");
    }
    for(Esami a : esami){
    a.print(ps);
    ps.println("---");
    }
    for(EsamiSvolti a : esamiSvolti){
    a.print(ps);
    ps.println("---");
    }
    }

    public void cercaPerNome(PrintStream ps){
    ps.println("Immettere nome o cognome studente:");
    Scanner i = new Scanner(System.in);
    String s = i.nextLine();
    for(Studente a : studente){
    if(a.getNome().equalsIgnoreCase(s) || a.getCognome().equalsIgnoreCase(s)){
    ps.println(a.toString());
    }
    }
    }

    public void cercaPerMatricola(PrintStream ps){
    ps.println("Immettere matricola studente:");
    Scanner i = new Scanner(System.in);
    String s = i.nextLine();
    for(Studente a : studente){
    if(a.getMatricola().equalsIgnoreCase(s)){
    ps.println(a.toString());
    }
    }
    for(EsamiSvolti b : esamiSvolti){
    if(b.getMatricola().equalsIgnoreCase(s)){
    ps.println(b.toString());
    }
    }
    }

    public void cercaPerCodiceEsame(PrintStream ps){
    ps.println("Immettere codice esame:");
    Scanner i = new Scanner(System.in);
    String s = i.nextLine();
    for(Esami a : esami){
    if(a.getCodiceEsame().equalsIgnoreCase(s)){
    ps.println(a.toString());
    }
    }
    }

    private ArrayList<Studente>studente;
    private ArrayList<Esami>esami;
    private ArrayList<EsamiSvolti>esamiSvolti;
    }
    TESTER:
    import java.io.File;
    import java.io.FileNotFoundException;
    import java.io.PrintStream;
    import java.util.Scanner;


    public class Tester {

    /**
    * @param args
    */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    boolean uscita = true;
    PrintStream ps = new PrintStream(System.out);
    Scanner stud = null;
    Scanner es = null;
    Scanner esSvo = null;
    Scanner in = null;

    try{
    stud = new Scanner(new File("studenti.txt"));
    es = new Scanner(new File("esami.txt"));
    esSvo = new Scanner(new File("esamiSvolti.txt"));
    }
    catch(FileNotFoundException e){
    ps.println("file non trovato");
    }

    Gestore g = new Gestore(stud,es,esSvo);
    in = new Scanner(System.in);
    while(uscita){
    menu(ps);
    int n = in.nextInt();
    if(n < 1 || n > 4){
    ps.println("errore");
    }
    switch(n){
    case 1 : g.cercaPerNome(ps);
    break;
    case 2 : g.cercaPerMatricola(ps);
    break;
    case 3 : g.cercaPerCodiceEsame(ps);
    break;
    case 4 : uscita = false;
    }
    }
    }
    public static void menu(PrintStream ps){
    ps.println("Ricerca:");
    ps.println("1) nome o cognome");
    ps.println("2) matricola");
    ps.println("3) codice esame");
    ps.println("4) uscita dal programma");
    }
    }


    scusatemi è tantissimo codice però non sapevo cosa postare in specifico allora ho postato tutto... vorrei fare una ricerca dati in input nome e cognome oppure noe e matricola oppure altre combinazioni diverse...come posso fare?

  4. #4
    Utente di HTML.it L'avatar di Albsss
    Registrato dal
    Nov 2012
    Messaggi
    11
    In particolare ciò che chiede la traccia è questo:
    Scrivere un programma di prova che, ricevuti
    in ingresso nome e cognome di un docente ed un numero intero N, stampi l'elenco di tutti gli studenti che hanno superato un esame con tale docente riportando un voto maggiore o uguale ad N. L'elenco dovrà contenere: Nome, Cognome. e Numero di Matricola dello Studente, Titolo dell'Esame, Voto Riportato e Data in cui l'esame è stato sostenuto.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.