Visualizzazione dei risultati da 1 a 2 su 2

Discussione: If anninadi o no?

  1. #1

    If anninadi o no?

    Buona sera a tutti ho un problema con la gestione degli if per un programma in java :C
    Ho un file in cui sono specificate le mani di poker (i valori delle carte) e devo calcolare il punto (coppia, doppia coppia, tris ecc.) Tutto parte da un file input formattato in questo modo:
    id semecarta1 valore carta1 semecarta2 valore carta 2 ecc.
    1,1,10,2,2,3,3,3,8,1,1
    Non so come gestire gli if per avere i casi perchè ad esempio nel caso della coppia non so come escludere il fatto che la coppia per la doppia coppia sia diversa dalla coppia (lo so sembra un rompicapo XD). Spero di essermi spiegata. Vi allego il codice e ringrazio in anticipo chi mi aiutera :3





    import java.io.*;
    import java.util.Arrays;
    import java.util.StringTokenizer;

    public class Datamining {
    public static void main(String [] args) throws IOException {

    // incapsula in BufferedReader un file aperto in lettura
    BufferedReader filebuf =
    new BufferedReader(new FileReader("D:\\Datamining\\bin\\test.txt"));
    String nextStr;
    nextStr = filebuf.readLine(); // legge una riga del file
    FileWriter w;
    w=new FileWriter("D:\\Datamining\\bin\\output.txt");
    BufferedWriter b;
    b=new BufferedWriter (w);
    while (nextStr != null){
    String[] miastringa=nextStr.split(",");
    System.out.println(miastringa[0]+" ");
    String id=miastringa [0];
    b.write(id+ "\n");
    String S1 =miastringa[1];
    String c1=miastringa[2];
    String s2 =miastringa[3];
    String c2=miastringa[4];
    String s3 =miastringa[5];
    String c3=miastringa[6];
    String s4 =miastringa[7];
    String c4=miastringa[8];
    String s5 =miastringa[9];
    String c5=miastringa[10];
    //caso coppia

    if(c1==c2||c1==c3||c1==c4||c1==c5||c2==c3||c2==c4| |c2==c5||c3==c4||c3==c5||c4==c5)
    {

    }
    nextStr = filebuf.readLine(); // legge la prossima riga
    }
    }
    }

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,254
    Quote Originariamente inviata da NastroAdesivo Visualizza il messaggio
    codice:
    if(c1==c2||c1==c3||c1==c4||c1==c5||c2==c3||c2==c4||c2==c5||c3==c4||c3==c5||c4==c5)
    Innanzitutto il contenuto delle stringhe (e degli oggetti in generale) NON si confronta per uguaglianza con == .
    Il == si basa solo sulla "identità" degli oggetti (il valore dei reference) e salvo rarissimi casi, non è mai quello che serve veramente.
    Il contenuto di stringhe/oggetti si confronta per uguaglianza con il metodo equals(Object)

    Quote Originariamente inviata da NastroAdesivo Visualizza il messaggio
    Non so come gestire gli if per avere i casi perchè ad esempio nel caso della coppia non so come escludere il fatto che la coppia per la doppia coppia sia diversa dalla coppia (lo so sembra un rompicapo XD).
    Sarà che non capisco nulla del poker .... ma non ho capito molto.
    Stando a https://it.wikipedia.org/wiki/Punti_del_poker ci sono effettivamente i casi di "Coppia" e "Doppia coppia". Vuoi distinguere i due casi? E in generale poter determinare tutti i casi citati in quella pagina (es. Tris, Scala, ecc..)?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

Tag per questa discussione

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 © 2024 vBulletin Solutions, Inc. All rights reserved.