Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    JAVA - eliminare minimo e massimo

    RAGAZZI, IL MASSIMO ME LO ELIMINA MA... Perchè non mi elimina il minimo?!? Grazie!

    codice:
    import java.util.Vector;
    
    public class Tenperature {
    
        public static void main(String[] args) {
            Vector temperatureSettimana = new Vector(); //creo un vettore senza specificare capacità iniziale
            
            temperatureSettimana.addElement(13);
            temperatureSettimana.addElement(7);
            temperatureSettimana.addElement(10);
            temperatureSettimana.addElement(15);
            temperatureSettimana.addElement(1);
            temperatureSettimana.addElement(8);
            
            for (int i=0; i<temperatureSettimana.size(); i++) {
                System.out.println(temperatureSettimana.elementAt(i));
            }
            
            int min = (int) temperatureSettimana.elementAt(0);
            int max = (int) temperatureSettimana.elementAt(0);
            
            for (int i=0; i<temperatureSettimana.size(); i++) {
                int s = (int) temperatureSettimana.elementAt(i);
                if (s < min) {
                    min = s;
                }
                if (s > max) {
                    max = s;
                }
            }
            
            System.out.println("Il minimo e' " + min);
            System.out.println("Il assimo e' " + max);
            
            
            for (int i=0; i<temperatureSettimana.size(); i++) {
                int s = (int) temperatureSettimana.elementAt(i);
                if (s==min) {
                    temperatureSettimana.removeElementAt(i);
                }
                if (s==max) {
                    temperatureSettimana.removeElementAt(i);
                }
            }
            
            
            System.out.println("dopo: ");
            for (int i=0; i<temperatureSettimana.size(); i++) {
                System.out.println(temperatureSettimana.elementAt(i));
            }
            
                
        
        }
    
    
    
    }
    Ultima modifica di LeleFT; 25-02-2019 a 10:50 Motivo: Aggiunti i tag CODE

  2. #2
    Utente di HTML.it L'avatar di Scara95
    Registrato dal
    Jul 2009
    residenza
    Zimella (VR)
    Messaggi
    2,567
    Quando chiami removeElementAt il 15 viene rimosso e 1 e 8 vengono spostati a sinistra di una cella. La tua i tuttavia non cambia, motivo per cui salti l'elemento i. Il metodo più corretto è utilizzare un iteratore e chiamare remove su di esso.
    "Quid enim est, quod contra vim sine vi fieri possit?" - Cicerone, Ad Familiares

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,161
    Sposto nel forum Java.

    PS: Per il codice c'è un apposito pulsante "#", che introduce il tag CODE.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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