Welcome to the Java Programming Forums


The professional, friendly Java community. 21,500 members and growing!


The Java Programming Forums are a community of Java programmers from all around the World. Our members have a wide range of skills and they all have one thing in common: A passion to learn and code Java. We invite beginner Java programmers right through to Java professionals to post here and share your knowledge. Become a part of the community, help others, expand your knowledge of Java and enjoy talking with like minded people. Registration is quick and best of all free. We look forward to meeting you.


>> REGISTER NOW TO START POSTING


Members have full access to the forums. Advertisements are removed for registered users.

Results 1 to 12 of 12

Thread: Negative condition does not work

  1. #1
    Member
    Join Date
    Jun 2017
    Posts
    46
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Negative condition does not work

    public void confrontaLaTernaDispositivoVeicolo() throws IOException {
     
    		String pathQueryDispositivoVeicolo = "C:\\Users\\java\\Desktop\\queryDispositivoVeicolo.txt";
    		File fileQueryDispositivoVeicolo = new File(pathQueryDispositivoVeicolo);
    		FileWriter fwQueryDispositivoVeicolo = new FileWriter(fileQueryDispositivoVeicolo);
     
    		String pathQueryInsertDispositivoVeicolo = "C:\\Users\\java\\Desktop\\queryInsertDispositivoVeicolo.txt";
    		File fileInsertQueryDispositivoVeicolo = new File(pathQueryInsertDispositivoVeicolo);
    		FileWriter fwInsertQueryDispositivoVeicolo = new FileWriter(fileInsertQueryDispositivoVeicolo);
     
    		String pathIDnonTrovato = "C:\\Users\\java\\Desktop\\idNonTrovato.txt";
    		File fileIDnonFile = new File(pathIDnonTrovato);
    		FileWriter fwNotID = new FileWriter(fileIDnonFile);
     
    		Spinelli spinelli = new Spinelli();
    		DispositivoVeicolo dispositivoVeicolo = new DispositivoVeicolo();
     
    		// SPINELLI
    		spinelli.fillDispositivoVeicoloCreateData();
    		spinelli.fillDispositivoVeicoloDataFineUtilizzo();
    		spinelli.fillDispositivoVeicoloDataInizioUtilizzo();
    		spinelli.fillDispositivoVeicoloID();
    		spinelli.fillDispositivoVeicoloIdAnagrafica();
    		spinelli.fillDispositivoVeicoloIDdispositivo();
    		spinelli.fillDispositivoVeicoloIDVeicolo();
    		spinelli.fillDispositivoVeicoloModifiedDate();
    		spinelli.fillDispositivoVeicoloUUID();
     
    		// DISPOSITIVO_VEICOLO
    		dispositivoVeicolo.fillDispositivoVeicoloCreateData();
    		dispositivoVeicolo.fillDispositivoVeicoloDataFineUtilizzo();
    		dispositivoVeicolo.fillDispositivoVeicoloDataInizioUtilizzo();
    		dispositivoVeicolo.fillDispositivoVeicoloDispositivoID();
    		dispositivoVeicolo.fillDispositivoVeicoloID();
    		dispositivoVeicolo.fillDispositivoVeicoloIdAnagrafica();
    		dispositivoVeicolo.fillDispositivoVeicoloIDVEICOLO();
    		dispositivoVeicolo.fillDispositivoVeicoloModifiedDate();
    		dispositivoVeicolo.fillDispositivoVeicoloUUID();
     
    		boolean match = false;
    		int spinelliIDanagrafica, spinelliIDdispositivo, spinelliIDVeicolo, spinelliID;
    		int dispositivoVeicoloIDanagrafica, dispositivoVeicoloIDdispositivo, dispositivoVeicoloIDVeicolo,
    				dispositivoVeicoloID;
     
    		System.out.println("ID_ANAGRAFICA ----ID_DISPOSITIVO -----ID_VEICOLO --------------ID");
    		for (spinelliIDanagrafica = 0, spinelliIDdispositivo = 0, spinelliIDVeicolo = 0, spinelliID = 0; spinelliIDanagrafica < spinelli
    				.getId_anagrafica()
    				.size(); spinelliIDanagrafica++, spinelliIDdispositivo++, spinelliIDVeicolo++, spinelliID++) {
    			for (dispositivoVeicoloIDanagrafica = 0, dispositivoVeicoloIDdispositivo = 0, dispositivoVeicoloIDVeicolo = 0, dispositivoVeicoloID = 0; dispositivoVeicoloIDanagrafica < dispositivoVeicolo
    					.getId_anagrafica()
    					.size(); dispositivoVeicoloIDanagrafica++, dispositivoVeicoloIDdispositivo++, dispositivoVeicoloIDVeicolo++, dispositivoVeicoloID++) {
     
    				if (spinelli.getId_anagrafica().get(spinelliIDanagrafica)
    						.equals(dispositivoVeicolo.getId_anagrafica().get(dispositivoVeicoloIDanagrafica))
    						&& spinelli.getId_dispositivo().get(spinelliIDdispositivo)
    								.equals(dispositivoVeicolo.getId_dispositivo().get(dispositivoVeicoloIDdispositivo))
    						&& spinelli.getId_veicolo().get(spinelliIDVeicolo)
    								.equals(dispositivoVeicolo.getId_veicolo().get(dispositivoVeicoloIDVeicolo))) {
    					match = true;
     
    					System.out.println(spinelli.getId_anagrafica().get(spinelliIDanagrafica) + " = "
    							+ dispositivoVeicolo.getId_anagrafica().get(dispositivoVeicoloIDanagrafica) + " ----- "
    							+ spinelli.getId_dispositivo().get(spinelliIDdispositivo) + " = "
    							+ dispositivoVeicolo.getId_dispositivo().get(dispositivoVeicoloIDdispositivo) + " ---- "
    							+ spinelli.getId_veicolo().get(spinelliIDVeicolo) + " = "
    							+ dispositivoVeicolo.getId_veicolo().get(dispositivoVeicoloIDVeicolo) + " ------ "
    							+ spinelli.getId().get(spinelliID) + " = "
    							+ dispositivoVeicolo.getId().get(dispositivoVeicoloID));
     
    					// Scrivi L'UPDATE DISPOSITIVO_VEICOLO
    					fwQueryDispositivoVeicolo.write("UPDATE DISPOSITIVO_VEICOLO SET ID = " + "'"
    							+ spinelli.getId().get(spinelliID) + "'" + "," + "CREATE_DATE = " + "'"
    							+ spinelli.getCreate_date().get(spinelliIDanagrafica) + "'" + "," + "MODIFIED_DATE = " + "'"
    							+ spinelli.getModified_date().get(spinelliIDanagrafica) + "'" + "," + "UUID = " + "'"
    							+ spinelli.getUuid().get(spinelliIDanagrafica) + "'" + "," + "DATA_FINE_UTILIZZO = " + "'"
    							+ spinelli.getData_fine_utilizzo().get(spinelliIDanagrafica) + "'" + ","
    							+ "DATA_INIZIO_UTILIZZO = " + "'"
    							+ spinelli.getData_inizio_utilizzo().get(spinelliIDanagrafica) + "'" + ","
    							+ "ID_DISPOSITIVO = " + "'" + spinelli.getId_dispositivo().get(spinelliIDdispositivo) + "'"
    							+ "," + "ID_VEICOLO = " + "'" + spinelli.getId_veicolo().get(spinelliIDVeicolo) + "'"
    							+ "WHERE ID_ANAGRAFICA = " + "'" + spinelli.getId_anagrafica().get(spinelliIDanagrafica)
    							+ "'" + ";\n");
    					fwQueryDispositivoVeicolo.flush();
    				}
    			}
     
    			if (match == false) {
    				if (!(!(spinelli.getId_anagrafica().get(spinelliIDanagrafica) == dispositivoVeicolo.getId_anagrafica().get(dispositivoVeicoloIDanagrafica)))
    						&& !(!(spinelli.getId_dispositivo().get(spinelliIDdispositivo) == dispositivoVeicolo
    								.getId_dispositivo().get(dispositivoVeicoloIDdispositivo)))
    						&& !(!(spinelli.getId_veicolo().get(spinelliIDVeicolo) == dispositivoVeicolo.getId_veicolo()
    								.get(dispositivoVeicoloIDVeicolo)))) {
     
    					fwInsertQueryDispositivoVeicolo.write(
    							"INSERT INTO DISPOSITIVO_VEICOLO (ID, CREATE_DATE, MODIFIED_DATE, UUID, DATA_FINE_UTILIZZO, DATA_INIZIO_UTILIZZO, ID_ANAGRAFICA, ID_DISPOSITIVO, ID_VEICOLO) VALUES ("
    									+ "'" + spinelli.getId().get(spinelliID) + "'" + "," + "'"
    									+ spinelli.getCreate_date().get(spinelliIDanagrafica) + "'" + "," + "'"
    									+ spinelli.getModified_date().get(spinelliIDanagrafica) + "'" + "," + "'"
    									+ spinelli.getUuid().get(spinelliIDanagrafica) + "'" + "," + "'"
    									+ spinelli.getData_fine_utilizzo().get(spinelliIDanagrafica) + "'" + "," + "'"
    									+ spinelli.getData_inizio_utilizzo().get(spinelliIDanagrafica) + "'" + "," + "'"
    									+ spinelli.getId_anagrafica().get(spinelliIDanagrafica) + "'" + "," + "'"
    									+ spinelli.getId_dispositivo().get(spinelliIDdispositivo) + "'" + "," + "'"
    									+ spinelli.getId_veicolo().get(spinelliIDVeicolo) + "'" + ");\n");
     
    					fwInsertQueryDispositivoVeicolo.flush();
    				}
     
     
    				else {
     
    					if (!spinelli.getId().get(spinelliID)
    							.equals(dispositivoVeicolo.getId().get(dispositivoVeicoloID))) {
    						// Scrivi nel file .txt ID DISPOSITIVO_VEICOLO NON TROVATO
    						fwNotID.write(
    								"INSERT INTO DISPOSITIVO_VEICOLO (ID, CREATE_DATE, MODIFIED_DATE, UUID, DATA_FINE_UTILIZZO, DATA_INIZIO_UTILIZZO, ID_ANAGRAFICA, ID_DISPOSITIVO, ID_VEICOLO) VALUES ("
    										+ "'" + spinelli.getId().get(spinelliID) + "'" + "," + "'"
    										+ spinelli.getCreate_date().get(spinelliIDanagrafica) + "'" + "," + "'"
    										+ spinelli.getModified_date().get(spinelliIDanagrafica) + "'" + "," + "'"
    										+ spinelli.getUuid().get(spinelliIDanagrafica) + "'" + "," + "'"
    										+ spinelli.getData_fine_utilizzo().get(spinelliIDanagrafica) + "'" + "," + "'"
    										+ spinelli.getData_inizio_utilizzo().get(spinelliIDanagrafica) + "'" + "," + "'"
    										+ spinelli.getId_anagrafica().get(spinelliIDanagrafica) + "'" + "," + "'"
    										+ spinelli.getId_dispositivo().get(spinelliIDdispositivo) + "'" + "," + "'"
    										+ spinelli.getId_veicolo().get(spinelliIDVeicolo) + "'" + ");\n");
    						fwNotID.flush();
    					}
     
    				}
     
    			}
     
    		}
    		fwQueryDispositivoVeicolo.close();
    		fwInsertQueryDispositivoVeicolo.close();
    		fwNotID.close();
    	}

    Error:
    Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 280, Size: 280
    at java.util.ArrayList.rangeCheck(ArrayList.java:657)
    at java.util.ArrayList.get(ArrayList.java:433)
    at it.nexid.Confrontare.confrontaLaTernaDispositivoVe icolo(Confrontare.java:259)
    at it.nexid.SpinelliTest.main(SpinelliTest.java:15)


    In Excel I have 281 records except I don't want to take the first record

    start from the first record
    public void fillVeicoloIDanagrafica() {
    		for (int rowIndex = 1; rowIndex < 281; rowIndex++) {
    			currentRow = dataTypeSheet.getRow(rowIndex);
    			cell_veicoli_id_anagrafica = currentRow.getCell(29); // Cella AD
    			veicoli_id_anagrafica.add(cell_veicoli_id_anagrafica.getStringCellValue().toString());
    		}
     
    		System.out.println(veicoli_id_anagrafica);
    	}


    if id registry and device id and vehicle id are not equal must print but it does not work because the indexes make me the error, how should I do?

  2. #2
    Super Moderator Norm's Avatar
    Join Date
    May 2010
    Location
    Eastern Florida
    Posts
    25,162
    Thanks
    65
    Thanked 2,725 Times in 2,675 Posts

    Default Re: Negative condition does not work

    Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 280, Size: 280
    at java.util.ArrayList.rangeCheck(ArrayList.java:657)
    at java.util.ArrayList.get(ArrayList.java:433)
    at it.nexid.Confrontare.confrontaLaTernaDispositivoVe icolo(Confrontare.java:259)
    at it.nexid.SpinelliTest.main(SpinelliTest.java:15)


    In Excel I have 281 records except I don't want to take the first record
    Are you sure there are 281 elements? The computer thinks there are only 280.
    If you don't understand my answer, don't ignore it, ask a question.

  3. #3
    Member
    Join Date
    Jun 2017
    Posts
    46
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Re: Negative condition does not work

    c.JPG
    c1.JPG

    when it goes to read the records starting from 1 to 281,

    even if I put 280 it goes the same in error and I don't understand

    Error:
    ID_ANAGRAFICA ----ID_DISPOSITIVO -----ID_VEICOLO --------------ID
    Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 279, Size: 279
    at java.util.ArrayList.rangeCheck(ArrayList.java:657)
    at java.util.ArrayList.get(ArrayList.java:433)
    at it.nexid.Confrontare.confrontaLaTernaDispositivoVe icolo(Confrontare.java:259)
    at it.nexid.SpinelliTest.main(SpinelliTest.java:15)

  4. #4
    Super Moderator Norm's Avatar
    Join Date
    May 2010
    Location
    Eastern Florida
    Posts
    25,162
    Thanks
    65
    Thanked 2,725 Times in 2,675 Posts

    Default Re: Negative condition does not work

    "main" java.lang.IndexOutOfBoundsException: Index: 279, Size: 279
    When executing the program, The JVM says the size is 279 elements which means that the maximum index can be 278.

    at it.nexid.Confrontare.confrontaLaTernaDispositivoVe icolo(Confrontare.java:259)
    What statement is at line 259? Why does it have an index value past the end of the list?
    If you don't understand my answer, don't ignore it, ask a question.

  5. #5
    Member
    Join Date
    Jun 2017
    Posts
    46
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Re: Negative condition does not work

    for (spinelliIDanagrafica = 0, spinelliIDdispositivo = 0, spinelliIDVeicolo = 0, spinelliID = 0; spinelliIDanagrafica < spinelli
    				.getId_anagrafica()
    				.size(); spinelliIDanagrafica++, spinelliIDdispositivo++, spinelliIDVeicolo++, spinelliID++) {
    			for (dispositivoVeicoloIDanagrafica = 0, dispositivoVeicoloIDdispositivo = 0, dispositivoVeicoloIDVeicolo = 0, dispositivoVeicoloID = 0; dispositivoVeicoloIDanagrafica < dispositivoVeicolo
    					.getId_anagrafica()
    					.size(); dispositivoVeicoloIDanagrafica++, dispositivoVeicoloIDdispositivo++, dispositivoVeicoloIDVeicolo++, dispositivoVeicoloID++) {
     
    				if (spinelli.getId_anagrafica().get(spinelliIDanagrafica)
    						.equals(dispositivoVeicolo.getId_anagrafica().get(dispositivoVeicoloIDanagrafica))
    						&& spinelli.getId_dispositivo().get(spinelliIDdispositivo)
    								.equals(dispositivoVeicolo.getId_dispositivo().get(dispositivoVeicoloIDdispositivo))
    						&& spinelli.getId_veicolo().get(spinelliIDVeicolo)
    								.equals(dispositivoVeicolo.getId_veicolo().get(dispositivoVeicoloIDVeicolo))) {
    					match = true;
     
    					System.out.println(spinelli.getId_anagrafica().get(spinelliIDanagrafica) + " = "
    							+ dispositivoVeicolo.getId_anagrafica().get(dispositivoVeicoloIDanagrafica) + " ----- "
    							+ spinelli.getId_dispositivo().get(spinelliIDdispositivo) + " = "
    							+ dispositivoVeicolo.getId_dispositivo().get(dispositivoVeicoloIDdispositivo) + " ---- "
    							+ spinelli.getId_veicolo().get(spinelliIDVeicolo) + " = "
    							+ dispositivoVeicolo.getId_veicolo().get(dispositivoVeicoloIDVeicolo) + " ------ "
    							+ spinelli.getId().get(spinelliID) + " = "
    							+ dispositivoVeicolo.getId().get(dispositivoVeicoloID));
     
    					// Scrivi L'UPDATE DISPOSITIVO_VEICOLO
    					fwQueryDispositivoVeicolo.write("UPDATE DISPOSITIVO_VEICOLO SET ID = " + "'"
    							+ spinelli.getId().get(spinelliID) + "'" + "," + "CREATE_DATE = " + "'"
    							+ spinelli.getCreate_date().get(spinelliIDanagrafica) + "'" + "," + "MODIFIED_DATE = " + "'"
    							+ spinelli.getModified_date().get(spinelliIDanagrafica) + "'" + "," + "UUID = " + "'"
    							+ spinelli.getUuid().get(spinelliIDanagrafica) + "'" + "," + "DATA_FINE_UTILIZZO = " + "'"
    							+ spinelli.getData_fine_utilizzo().get(spinelliIDanagrafica) + "'" + ","
    							+ "DATA_INIZIO_UTILIZZO = " + "'"
    							+ spinelli.getData_inizio_utilizzo().get(spinelliIDanagrafica) + "'" + ","
    							+ "ID_DISPOSITIVO = " + "'" + spinelli.getId_dispositivo().get(spinelliIDdispositivo) + "'"
    							+ "," + "ID_VEICOLO = " + "'" + spinelli.getId_veicolo().get(spinelliIDVeicolo) + "'"
    							+ "WHERE ID_ANAGRAFICA = " + "'" + spinelli.getId_anagrafica().get(spinelliIDanagrafica)
    							+ "'" + ";\n");
    					fwQueryDispositivoVeicolo.flush();
    				}
    			}
     
    			if (match == false) {
    				fwQueryDispositivoVeicolo.write(
    						"INSERT INTO DISPOSITIVO_VEICOLO (ID, CREATE_DATE, MODIFIED_DATE, UUID, DATA_FINE_UTILIZZO, DATA_INIZIO_UTILIZZO, ID_ANAGRAFICA, ID_DISPOSITIVO, ID_VEICOLO) VALUES ("
    								+ "'" + spinelli.getId().get(spinelliID) + "'" + "," + "'"
    								+ spinelli.getCreate_date().get(spinelliIDanagrafica) + "'" + "," + "'"
    								+ spinelli.getModified_date().get(spinelliIDanagrafica) + "'" + "," + "'"
    								+ spinelli.getUuid().get(spinelliIDanagrafica) + "'" + "," + "'"
    								+ spinelli.getData_fine_utilizzo().get(spinelliIDanagrafica) + "'" + "," + "'"
    								+ spinelli.getData_inizio_utilizzo().get(spinelliIDanagrafica) + "'" + "," + "'"
    								+ spinelli.getId_anagrafica().get(spinelliIDanagrafica) + "'" + "," + "'"
    								+ spinelli.getId_dispositivo().get(spinelliIDdispositivo) + "'" + "," + "'"
    								+ spinelli.getId_veicolo().get(spinelliIDVeicolo) + "'" + ");\n");
    				fwQueryDispositivoVeicolo.flush();
     
    			}
    //			else {
    //
    //				if (spinelli.getId().get(spinelliID) != dispositivoVeicolo.getId().get(dispositivoVeicoloID)) {
    //					// Scrivi nel file .txt ID DISPOSITIVO_VEICOLO NON TROVATO
    //					fwNotID.write(
    //							"INSERT INTO DISPOSITIVO_VEICOLO (ID, CREATE_DATE, MODIFIED_DATE, UUID, DATA_FINE_UTILIZZO, DATA_INIZIO_UTILIZZO, ID_ANAGRAFICA, ID_DISPOSITIVO, ID_VEICOLO) VALUES ("
    //									+ "'" + spinelli.getId().get(spinelliID) + "'" + "," + "'"
    //									+ spinelli.getCreate_date().get(spinelliIDanagrafica) + "'" + "," + "'"
    //									+ spinelli.getModified_date().get(spinelliIDanagrafica) + "'" + "," + "'"
    //									+ spinelli.getUuid().get(spinelliIDanagrafica) + "'" + "," + "'"
    //									+ spinelli.getData_fine_utilizzo().get(spinelliIDanagrafica) + "'" + "," + "'"
    //									+ spinelli.getData_inizio_utilizzo().get(spinelliIDanagrafica) + "'" + "," + "'"
    //									+ spinelli.getId_anagrafica().get(spinelliIDanagrafica) + "'" + "," + "'"
    //									+ spinelli.getId_dispositivo().get(spinelliIDdispositivo) + "'" + "," + "'"
    //									+ spinelli.getId_veicolo().get(spinelliIDVeicolo) + "'" + ");\n");
    //					fwNotID.flush();
    //				}
    //
    //			}
     
    		}
    		fwQueryDispositivoVeicolo.close();
    		fwNotID.close();
    	}
     
    }


    I changed all from in the for loop from 0 to 280.

    But since I modified the excel file in the registry id, vehicle id, device id
    to see if they are equal, in this case since they are not equal, it does not enter the else and does not give me an error.

    I don't understand where I'm wrong

  6. #6
    Super Moderator Norm's Avatar
    Join Date
    May 2010
    Location
    Eastern Florida
    Posts
    25,162
    Thanks
    65
    Thanked 2,725 Times in 2,675 Posts

    Default Re: Negative condition does not work

    Add some print statements that print out the values of the variables that are being tested in the if statement. The values printed should show you what is being compared in the if statement and help you understand why the if statement is not doing what you want.
    If you don't understand my answer, don't ignore it, ask a question.

  7. #7
    Member
    Join Date
    Jun 2017
    Posts
    46
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Re: Negative condition does not work

     
    int spinelliIDanagrafica, spinelliIDdispositivo, spinelliIDVeicolo, spinelliID;
    		int dispositivoVeicoloIDanagrafica, dispositivoVeicoloIDdispositivo, dispositivoVeicoloIDVeicolo,
    				dispositivoVeicoloID;
     
    		System.out.println("ID_ANAGRAFICA ----ID_DISPOSITIVO -----ID_VEICOLO --------------ID");
    		for (spinelliIDanagrafica = 0, spinelliIDdispositivo = 0, spinelliIDVeicolo = 0, spinelliID = 0; spinelliIDanagrafica < spinelli
    				.getId_anagrafica()
    				.size(); spinelliIDanagrafica++, spinelliIDdispositivo++, spinelliIDVeicolo++, spinelliID++) {
    			for (dispositivoVeicoloIDanagrafica = 0, dispositivoVeicoloIDdispositivo = 0, dispositivoVeicoloIDVeicolo = 0, dispositivoVeicoloID = 0; dispositivoVeicoloIDanagrafica < dispositivoVeicolo
    					.getId_anagrafica()
    					.size(); dispositivoVeicoloIDanagrafica++, dispositivoVeicoloIDdispositivo++, dispositivoVeicoloIDVeicolo++, dispositivoVeicoloID++) {

    Does this for loop look as good as it did?
    Or can it be done differently given that there are so many lists?


    ID_ANAGRAFICA ----ID_DISPOSITIVO -----ID_VEICOLO --------------ID
    2284 = 2284 ----- 29968 = 29968 ---- 25611 = 25611 ------ 80383 = 80383
    2284 = 2284 ----- 29967 = 29967 ---- 25612 = 25612 ------ 80382 = 80382
    2284 = 2284 ----- 30031 = 30031 ---- 25613 = 25613 ------ 80446 = 80446
    2284 = 2284 ----- 29969 = 29969 ---- 25614 = 25614 ------ 80384 = 80384


    the cycle works the values ​​return, but does not enter the else
    ......................

  8. #8
    Super Moderator Norm's Avatar
    Join Date
    May 2010
    Location
    Eastern Florida
    Posts
    25,162
    Thanks
    65
    Thanked 2,725 Times in 2,675 Posts

    Default Re: Negative condition does not work

    does not enter the else
    Which line(s) are not handled correctly by the if/else statement?
    Which values are being tested by the if statement?

    The code in post#7 does NOT show the debug print statement or the if statement that has the problem.
    I need to see the values that are tested in the if statement and I need to see the if statement that is testing those values and not doing what you want.
    If you don't understand my answer, don't ignore it, ask a question.

  9. #9
    Member
    Join Date
    Jun 2017
    Posts
    46
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Re: Negative condition does not work

    	public void confrontaLaTernaDispositivoVeicolo() throws IOException {
     
    		String pathQueryDispositivoVeicolo = "C:\\Users\\java\\Desktop\\queryDispositivoVeicolo.txt";
    		File fileQueryDispositivoVeicolo = new File(pathQueryDispositivoVeicolo);
    		FileWriter fwQueryDispositivoVeicolo = new FileWriter(fileQueryDispositivoVeicolo);
     
    		Spinelli spinelli = new Spinelli();
    		DispositivoVeicolo dispositivoVeicolo = new DispositivoVeicolo();
     
    		// SPINELLI
    		spinelli.fillDispositivoVeicoloCreateData();
    		spinelli.fillDispositivoVeicoloDataFineUtilizzo();
    		spinelli.fillDispositivoVeicoloDataInizioUtilizzo();
    		spinelli.fillDispositivoVeicoloID();
    		spinelli.fillDispositivoVeicoloIdAnagrafica();
    		spinelli.fillDispositivoVeicoloIDdispositivo();
    		spinelli.fillDispositivoVeicoloIDVeicolo();
    		spinelli.fillDispositivoVeicoloModifiedDate();
    		spinelli.fillDispositivoVeicoloUUID();
     
    		// DISPOSITIVO_VEICOLO
    		dispositivoVeicolo.fillDispositivoVeicoloCreateData();
    		dispositivoVeicolo.fillDispositivoVeicoloDataFineUtilizzo();
    		dispositivoVeicolo.fillDispositivoVeicoloDataInizioUtilizzo();
    		dispositivoVeicolo.fillDispositivoVeicoloDispositivoID();
    		dispositivoVeicolo.fillDispositivoVeicoloID();
    		dispositivoVeicolo.fillDispositivoVeicoloIdAnagrafica();
    		dispositivoVeicolo.fillDispositivoVeicoloIDVEICOLO();
    		dispositivoVeicolo.fillDispositivoVeicoloModifiedDate();
    		dispositivoVeicolo.fillDispositivoVeicoloUUID();
     
    		int spinelliIDanagrafica, spinelliIDdispositivo, spinelliIDVeicolo, spinelliID;
    		int dispositivoVeicoloIDanagrafica, dispositivoVeicoloIDdispositivo, dispositivoVeicoloIDVeicolo,
    				dispositivoVeicoloID;
    		boolean match= false;
     
    		System.out.println("ID_ANAGRAFICA ----ID_DISPOSITIVO -----ID_VEICOLO --------------ID");
    		for (spinelliIDanagrafica = 1, spinelliIDdispositivo = 1, spinelliIDVeicolo = 1, spinelliID = 1; spinelliIDanagrafica < spinelli
    				.getId_anagrafica()
    				.size(); spinelliIDanagrafica++, spinelliIDdispositivo++, spinelliIDVeicolo++, spinelliID++) {
    			for (dispositivoVeicoloIDanagrafica = 1, dispositivoVeicoloIDdispositivo = 1, dispositivoVeicoloIDVeicolo = 1, dispositivoVeicoloID = 1; dispositivoVeicoloIDanagrafica < dispositivoVeicolo
    					.getId_anagrafica()
    					.size(); dispositivoVeicoloIDanagrafica++, dispositivoVeicoloIDdispositivo++, dispositivoVeicoloIDVeicolo++, dispositivoVeicoloID++) {
     
    				if (spinelli.getId_anagrafica().get(spinelliIDanagrafica)
    						.equals(dispositivoVeicolo.getId_anagrafica().get(dispositivoVeicoloIDanagrafica))
    						&& spinelli.getId_dispositivo().get(spinelliIDdispositivo)
    								.equals(dispositivoVeicolo.getId_dispositivo().get(dispositivoVeicoloIDdispositivo))
    						&& spinelli.getId_veicolo().get(spinelliIDVeicolo)
    								.equals(dispositivoVeicolo.getId_veicolo().get(dispositivoVeicoloIDVeicolo))) {
    					match = true;
    					System.out.println(spinelli.getId_anagrafica().get(spinelliIDanagrafica) + " = "
    							+ dispositivoVeicolo.getId_anagrafica().get(dispositivoVeicoloIDanagrafica) + " ----- "
    							+ spinelli.getId_dispositivo().get(spinelliIDdispositivo) + " = "
    							+ dispositivoVeicolo.getId_dispositivo().get(dispositivoVeicoloIDdispositivo) + " ---- "
    							+ spinelli.getId_veicolo().get(spinelliIDVeicolo) + " = "
    							+ dispositivoVeicolo.getId_veicolo().get(dispositivoVeicoloIDVeicolo) + " ------ "
    							+ spinelli.getId().get(spinelliID) + " = "
    							+ dispositivoVeicolo.getId().get(dispositivoVeicoloID));
     
    					// Scrivi L'UPDATE DISPOSITIVO_VEICOLO
    					fwQueryDispositivoVeicolo.write("UPDATE DISPOSITIVO_VEICOLO SET ID = " + "'"
    							+ spinelli.getId().get(spinelliID) + "'" + "," + "CREATE_DATE = " + "'"
    							+ spinelli.getCreate_date().get(spinelliIDanagrafica) + "'" + "," + "MODIFIED_DATE = " + "'"
    							+ spinelli.getModified_date().get(spinelliIDanagrafica) + "'" + "," + "UUID = " + "'"
    							+ spinelli.getUuid().get(spinelliIDanagrafica) + "'" + "," + "DATA_FINE_UTILIZZO = " + "'"
    							+ spinelli.getData_fine_utilizzo().get(spinelliIDanagrafica) + "'" + ","
    							+ "DATA_INIZIO_UTILIZZO = " + "'"
    							+ spinelli.getData_inizio_utilizzo().get(spinelliIDanagrafica) + "'" + ","
    							+ "ID_DISPOSITIVO = " + "'" + spinelli.getId_dispositivo().get(spinelliIDdispositivo) + "'"
    							+ "," + "ID_VEICOLO = " + "'" + spinelli.getId_veicolo().get(spinelliIDVeicolo) + "'"
    							+ "WHERE ID_ANAGRAFICA = " + "'" + spinelli.getId_anagrafica().get(spinelliIDanagrafica)
    							+ "'" + ";\n");
     
    				}  else  {
    					match = false;
    					fwQueryDispositivoVeicolo.write(
    							"INSERT INTO DISPOSITIVO_VEICOLO (ID, CREATE_DATE, MODIFIED_DATE, UUID, DATA_FINE_UTILIZZO, DATA_INIZIO_UTILIZZO, ID_ANAGRAFICA, ID_DISPOSITIVO, ID_VEICOLO) VALUES ("
    									+ "'" + spinelli.getId().get(spinelliID) + "'" + "," + "'"
    									+ spinelli.getCreate_date().get(spinelliIDanagrafica) + "'" + "," + "'"
    									+ spinelli.getModified_date().get(spinelliIDanagrafica) + "'" + "," + "'"
    									+ spinelli.getUuid().get(spinelliIDanagrafica) + "'" + "," + "'"
    									+ spinelli.getData_fine_utilizzo().get(spinelliIDanagrafica) + "'" + "," + "'"
    									+ spinelli.getData_inizio_utilizzo().get(spinelliIDanagrafica) + "'" + "," + "'"
    									+ spinelli.getId_anagrafica().get(spinelliIDanagrafica) + "'" + "," + "'"
    									+ spinelli.getId_dispositivo().get(spinelliIDdispositivo) + "'" + "," + "'"
    									+ spinelli.getId_veicolo().get(spinelliIDVeicolo) + "'" + ");\n");
    				}
     
    			} // secondo ciclo
     
    		} // primo ciclo
     
    		fwQueryDispositivoVeicolo.close();
    	}

    Output:

    In this table shows the print of the data id, vehicle id, device id. Since they are all the same, you need to update
    ID_ANAGRAFICA ----ID_DISPOSITIVO -----ID_VEICOLO --------------ID
    2284 = 2284 ----- 29968 = 29968 ---- 25611 = 25611 ------ 80383 = 80383
    2284 = 2284 ----- 29967 = 29967 ---- 25612 = 25612 ------ 80382 = 80382
    ................

    in this way it works, but does not print correctly. He inserts me but not updates and then prints the same record 10 times

    when he goes to write in the file, he writes to me several times, if the conditions are true, make UPDATE. Otherwise if the conditions are not true make the INSERT


    In the file he scirtto in this way, but he duplicates me, but it didn't have to be an insert but an update
    NSERT INTO DISPOSITIVO_VEICOLO (ID, CREATE_DATE, MODIFIED_DATE, UUID, DATA_FINE_UTILIZZO, DATA_INIZIO_UTILIZZO, ID_ANAGRAFICA, ID_DISPOSITIVO, ID_VEICOLO) VALUES ('80383','2019-05-07 00:06:20.194','2019-05-07 00:06:20.194','1e3d54e5-3305-4ccd-b26d-b17599aafd1b','2018-12-31 00:00:00','2018-01-02 00:00:00','2284','29968','25611');

    INSERT INTO DISPOSITIVO_VEICOLO (ID, CREATE_DATE, MODIFIED_DATE, UUID, DATA_FINE_UTILIZZO, DATA_INIZIO_UTILIZZO, ID_ANAGRAFICA, ID_DISPOSITIVO, ID_VEICOLO) VALUES ('80383','2019-05-07 00:06:20.194','2019-05-07 00:06:20.194','1e3d54e5-3305-4ccd-b26d-b17599aafd1b','2018-12-31 00:00:00','2018-01-02 00:00:00','2284','29968','25611');

  10. #10
    Super Moderator Norm's Avatar
    Join Date
    May 2010
    Location
    Eastern Florida
    Posts
    25,162
    Thanks
    65
    Thanked 2,725 Times in 2,675 Posts

    Default Re: Negative condition does not work

    Why does the code use 4 variables here that always have the same value? Just use one variable if they are all the same values.
    		for (spinelliIDanagrafica = 1, spinelliIDdispositivo = 1, spinelliIDVeicolo = 1, spinelliID = 1;

    This statement should be inside the outer loop:
    		boolean match= false;
    so that every match within the inner loop will be detected.
    When it is outside of the outer loop, only ONE match will be detected. Future non-matches will be missed.
    See post#26 here: http://www.javaprogrammingforums.com...tml#post166259
    If you don't understand my answer, don't ignore it, ask a question.

  11. #11
    Member
    Join Date
    Jun 2017
    Posts
    46
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Re: Negative condition does not work

    public void confrontaLaTernaDispositivoVeicolo() throws IOException {
     
    		String pathQueryDispositivoVeicolo = "C:\\Users\\java\\Desktop\\queryDispositivoVeicolo.txt";
    		File fileQueryDispositivoVeicolo = new File(pathQueryDispositivoVeicolo);
    		FileWriter fwQueryDispositivoVeicolo = new FileWriter(fileQueryDispositivoVeicolo);
     
    		Spinelli spinelli = new Spinelli();
    		DispositivoVeicolo dispositivoVeicolo = new DispositivoVeicolo();
     
    		// SPINELLI
    		spinelli.fillDispositivoVeicoloCreateData();
    		spinelli.fillDispositivoVeicoloDataFineUtilizzo();
    		spinelli.fillDispositivoVeicoloDataInizioUtilizzo();
    		spinelli.fillDispositivoVeicoloID();
    		spinelli.fillDispositivoVeicoloIdAnagrafica();
    		spinelli.fillDispositivoVeicoloIDdispositivo();
    		spinelli.fillDispositivoVeicoloIDVeicolo();
    		spinelli.fillDispositivoVeicoloModifiedDate();
    		spinelli.fillDispositivoVeicoloUUID();
     
    		// DISPOSITIVO_VEICOLO
    		dispositivoVeicolo.fillDispositivoVeicoloCreateData();
    		dispositivoVeicolo.fillDispositivoVeicoloDataFineUtilizzo();
    		dispositivoVeicolo.fillDispositivoVeicoloDataInizioUtilizzo();
    		dispositivoVeicolo.fillDispositivoVeicoloDispositivoID();
    		dispositivoVeicolo.fillDispositivoVeicoloID();
    		dispositivoVeicolo.fillDispositivoVeicoloIdAnagrafica();
    		dispositivoVeicolo.fillDispositivoVeicoloIDVEICOLO();
    		dispositivoVeicolo.fillDispositivoVeicoloModifiedDate();
    		dispositivoVeicolo.fillDispositivoVeicoloUUID();
     
    		int spinelliIDanagrafica;
    		int dispositivoVeicoloIDanagrafica;
     
    		System.out.println("ID_ANAGRAFICA ----ID_DISPOSITIVO -----ID_VEICOLO --------------ID");
    		for (spinelliIDanagrafica = 1 ; spinelliIDanagrafica < spinelli.getId_anagrafica().size(); spinelliIDanagrafica++) {
    			boolean match= false;
    			for (dispositivoVeicoloIDanagrafica = 1; dispositivoVeicoloIDanagrafica < dispositivoVeicolo.getId_anagrafica().size(); dispositivoVeicoloIDanagrafica++) {
     
    				if ((spinelli.getId_anagrafica().get(spinelliIDanagrafica)
    						.equals(dispositivoVeicolo.getId_anagrafica().get(dispositivoVeicoloIDanagrafica))
    						&& spinelli.getId_dispositivo().get(spinelliIDanagrafica)
    								.equals(dispositivoVeicolo.getId_dispositivo().get(dispositivoVeicoloIDanagrafica))
    						&& spinelli.getId_veicolo().get(spinelliIDanagrafica)
    								.equals(dispositivoVeicolo.getId_veicolo().get(dispositivoVeicoloIDanagrafica)))) {
    					 match = true;
    					System.out.println(spinelli.getId_anagrafica().get(spinelliIDanagrafica) + " = "
    							+ dispositivoVeicolo.getId_anagrafica().get(dispositivoVeicoloIDanagrafica) + " ----- "
    							+ spinelli.getId_dispositivo().get(spinelliIDanagrafica) + " = "
    							+ dispositivoVeicolo.getId_dispositivo().get(dispositivoVeicoloIDanagrafica) + " ---- "
    							+ spinelli.getId_veicolo().get(spinelliIDanagrafica) + " = "
    							+ dispositivoVeicolo.getId_veicolo().get(dispositivoVeicoloIDanagrafica) + " ------ "
    							+ spinelli.getId().get(spinelliIDanagrafica) + " = "
    							+ dispositivoVeicolo.getId().get(dispositivoVeicoloIDanagrafica));
     
    					// Scrivi L'UPDATE DISPOSITIVO_VEICOLO
    					fwQueryDispositivoVeicolo.write("UPDATE DISPOSITIVO_VEICOLO SET ID = " + "'"
    							+ spinelli.getId().get(spinelliIDanagrafica) + "'" + "," + "CREATE_DATE = " + "'"
    							+ spinelli.getCreate_date().get(spinelliIDanagrafica) + "'" + "," + "MODIFIED_DATE = " + "'"
    							+ spinelli.getModified_date().get(spinelliIDanagrafica) + "'" + "," + "UUID = " + "'"
    							+ spinelli.getUuid().get(spinelliIDanagrafica) + "'" + "," + "DATA_FINE_UTILIZZO = " + "'"
    							+ spinelli.getData_fine_utilizzo().get(spinelliIDanagrafica) + "'" + ","
    							+ "DATA_INIZIO_UTILIZZO = " + "'"
    							+ spinelli.getData_inizio_utilizzo().get(spinelliIDanagrafica) + "'" + ","
    							+ "ID_DISPOSITIVO = " + "'" + spinelli.getId_dispositivo().get(spinelliIDanagrafica) + "'"
    							+ "," + "ID_VEICOLO = " + "'" + spinelli.getId_veicolo().get(spinelliIDanagrafica) + "'"
    							+ "WHERE ID_ANAGRAFICA = " + "'" + spinelli.getId_anagrafica().get(spinelliIDanagrafica)
    							+ "'" + ";\n");
     
    				}
     
    			} 
    			 if(!match) {	
    				fwQueryDispositivoVeicolo.write(
    						"INSERT INTO DISPOSITIVO_VEICOLO (ID, CREATE_DATE, MODIFIED_DATE, UUID, DATA_FINE_UTILIZZO, DATA_INIZIO_UTILIZZO, ID_ANAGRAFICA, ID_DISPOSITIVO, ID_VEICOLO) VALUES ("
    								+ "'" + spinelli.getId().get(spinelliIDanagrafica) + "'" + "," + "'"
    								+ spinelli.getCreate_date().get(spinelliIDanagrafica) + "'" + "," + "'"
    								+ spinelli.getModified_date().get(spinelliIDanagrafica) + "'" + "," + "'"
    								+ spinelli.getUuid().get(spinelliIDanagrafica) + "'" + "," + "'"
    								+ spinelli.getData_fine_utilizzo().get(spinelliIDanagrafica) + "'" + "," + "'"
    								+ spinelli.getData_inizio_utilizzo().get(spinelliIDanagrafica) + "'" + "," + "'"
    								+ spinelli.getId_anagrafica().get(spinelliIDanagrafica) + "'" + "," + "'"
    								+ spinelli.getId_dispositivo().get(spinelliIDanagrafica) + "'" + "," + "'"
    								+ spinelli.getId_veicolo().get(spinelliIDanagrafica) + "'" + ");\n");
     
    			 }
    		} // primo ciclo
     
    		fwQueryDispositivoVeicolo.close();
    	}

    i think the system is fine now?

  12. #12
    Member
    Join Date
    Jun 2017
    Posts
    46
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Re: Negative condition does not work

    Quote Originally Posted by MarkucNN View Post
    Hi friends
    TIA updater message unable to connect to the server appears. I have antivirus and firewall disabled. The result is the same.
    Does anyone have any idea?
    Regards.

    Thanks, I solved.

Similar Threads

  1. LSP: weaken pre-condition and strengthen post-condition
    By Capital in forum Object Oriented Programming
    Replies: 1
    Last Post: July 13th, 2014, 12:46 PM
  2. Why doesn't my if condition work when I compare two strings?
    By elbiociq in forum What's Wrong With My Code?
    Replies: 1
    Last Post: May 12th, 2014, 02:07 AM
  3. [SOLVED] My fleet of squares doesnt work (simple high school work)
    By macko939 in forum What's Wrong With My Code?
    Replies: 6
    Last Post: February 20th, 2014, 02:56 PM
  4. condition number? what is it?
    By gspease839 in forum Algorithms & Recursion
    Replies: 2
    Last Post: February 9th, 2013, 10:00 PM
  5. Negative
    By xew123 in forum Java Theory & Questions
    Replies: 1
    Last Post: March 6th, 2011, 07:25 PM