Konvertieren Double zu int in ArrayList

vector_ever

Mitglied
Hello,

nimm die folgende arrayList an:

Code:
ArrayList arr = new arrayList();
arr.add("hi");
arr.add(2.5);
arr.add("x");
arr.add(2.9);
arr.add("10");
arr.add(1.0);

wie kann man nur die "double" werte in arr zu "int" (nur die double und ignoriere andere Sorte)?
 
Code:
public static void main(String[] args) {
        ArrayList arr = new ArrayList();
        arr.add("hi");
        arr.add(2.5);
        arr.add("x");
        arr.add(2.9);
        arr.add(1.0);
 
        for(int i = 0; i < arr.size(); i++){
        if (arr.get(i) instanceof Double ){
            (int)arr.get(i); // falsch, aber wie kann man richtig zu integer umwandeln ?
        }
    }
    }
}
 
Ehrlich gesagt sind deine Angaben nicht ausreichend, ich habe ein paar Fragen:
1. Ist das eine Schulaufgabe?
2. "2.0" wäre ein double-Wert jedoch im String-Format, wäre dieser relevant?
3. Was genau ist nun falsch bei dir?
 
Ganz einfach

Code:
public static void main(String[] args) {
        ArrayList arr = new ArrayList();
        arr.add("hi");
        arr.add(2.5);
        arr.add("x");
        arr.add(2.9);
        arr.add(1.0);
 
        for(int i = 0; i < arr.size(); i++){
        if (arr.get(i) instanceof Double ){
            ((Double)arr.get(i)).intValue(); 
        }
    }
    }
}
 
1. Ist das eine Schulaufgabe?
klar nicht Schulaufgabe

"2.0" wäre ein double-Wert jedoch im String-Format, wäre dieser relevant?
"2.0" ist String und bleibt immer String, das geht immer nur um double

Was genau ist nun falsch bei dir?
ich meinte diese (int)arr.get(i); so geht nicht kann man so zu int nich umwandeln

((Double)arr.get(i)).intValue();
hast du es selbst ausprobiert?
ich habe es vom Anfang ausprobiert und immer bleibt double

Code:
	public static void main(String[] args) {
        ArrayList arr = new ArrayList();
        arr.add("hi");
        arr.add(2.5);
        arr.add("x");
        arr.add(2.9);
        arr.add(1.0);
 
        for(int i = 0; i < arr.size(); i++){
        if (arr.get(i) instanceof Double ){
            ((Double)arr.get(i)).intValue(); 
        }
        System.out.println(arr.get(i));
    }
    }
HTML:
hi
2.5
x
2.9
1.0
 
Code:
    public static void main(String[] args) {
        ArrayList arr = new ArrayList();
        arr.add("hi");
        arr.add(2.5);
        arr.add("x");
        arr.add(2.9);
        arr.add(1.0);
 
        for(int i = 0; i < arr.size(); i++){
        if (arr.get(i) instanceof Double ){
            int test = ((Double)arr.get(i)).intValue(); 
            System.out.println(test);
        }
        
    }
    }
 
Code:
int test = ((Double)arr.get(i)).intValue();
klar kriege ich Integer, aber das nicht nur mein zeil, mein ziel ist die Double werte in die ArrayList zu Integer umwandeln und bleibt immer in der Array list (kriege die arraylist ohne double aber Integer)

Warum nicht mal googlen? Das ist so was von Grundlegend.

glaub mir ich habe gegoogelt die linke geschaut und ArrayList und Double Platform SE 7 documentation gelesen aber die antwort nicht gefunden

Code:
	public static void main(String[] args) {
        ArrayList arr = new ArrayList();
        arr.add("hi");
        arr.add(2.5);
        arr.add("x");
        arr.add(2.9);
        arr.add(1.0);
 
        for(int i = 0; i < arr.size(); i++){
        if (arr.get(i) instanceof Double ){
        	 int n = ((Double) arr.get(i)).intValue(); 
        	 arr.set(i, n);
        }
        System.out.println(arr.get(i));
    }

    }

Danke
 
Bespiel:
String wert = "" + list.get(i); //Die double in einen String tun
if(wert.contains(".")){
wert = wert.split(".")[0];
//Nur das vor dem Komma (bei double immer ein Punkt)
}
int erg = Integer.parseInt(wert);
 

Neue Beiträge

Zurück