Lösung ohne Autoboxing und ohne Generics
import java.util.*;
public class Insert
{
public static void main(String[] args)
{
int input;
Vector v = new Vector();
System.out.println("Zahlen eingeben (ende mit negativer zahl)");
while( (input = Stdin.intEingabe()) >=0 )
{
if(v.size()==0)
v.add( new Integer(input) );
else
for(int i=0; i<v.size(); i++)
{
Integer elem = (Integer)v.get(i);
if(elem.intValue() >= input) // einfügstelle suchen
{
//System.out.println("fuege "+ in + " ein an stelle " + i);
v.insertElementAt( new Integer(input), i);
//printVector(v);
break;
}
if (i==v.size()-1)
{
//System.out.println("fuege "+ in + " am ende ein, i = " + i);
v.add( new Integer(input) );
//printVector(v);
break;
}
}
} // end while
System.out.println("---------------------");
printVector(v);
}
// convenience method for debugging
public static void printVector(Vector v)
{
for(int i=0; i<v.size(); i++)
System.out.print(v.get(i)+ "\t");
System.out.println();
}
}
Lösung mit Auto(un)boxing aber ohne Generics
import java.util.*;
public class Insert2
{
public static void main(String[] args)
{
int input;
Vector v = new Vector();
System.out.println("Zahlen eingeben (ende mit negativer zahl)");
while( (input = Stdin.intEingabe()) >=0 )
{
if(v.size()==0)
v.add(input); // autoboxing
else
for(int i=0; i<v.size(); i++)
{
Integer elem = (Integer)v.get(i);
if(elem >= input) // einfügstelle suchen auto-unboxing
{
//System.out.println("fuege "+ in + " ein an stelle " + i);
v.insertElementAt( input, i); // autoboxing
//printVector(v);
break;
}
if (i==v.size()-1)
{
//System.out.println("fuege "+ in + " am ende ein, i = " + i);
v.add(input); // autoboxing
//printVector(v);
break;
}
}
} // end while
System.out.println("---------------------");
printVector(v);
}
// convenience method for debugging
public static void printVector(Vector v)
{
for(int i=0; i<v.size(); i++)
System.out.print(v.get(i)+ "\t");
System.out.println();
}
}
Lösung mit Auto(un)boxing und mit Generics
import java.util.*;
public class Insert3
{
public static void main(String[] args)
{
int input;
Vector<Integer> v = new Vector<Integer>(); // generics
//Vector<int> v = new Vector<int>(); // das geht nicht !
System.out.println("Zahlen eingeben (ende mit negativer zahl)");
while( (input = Stdin.intEingabe()) >=0 )
{
if(v.size()==0)
v.add(input); // autoboxing
else
for(int i=0; i<v.size(); i++)
{
Integer elem = v.get(i);
if(elem >= input) // einfügstelle suchen auto-unboxing
{
//System.out.println("fuege "+ in + " ein an stelle " + i);
v.insertElementAt( input, i); // autoboxing
//printVector(v);
break;
}
if (i==v.size()-1 )
{
//System.out.println("fuege "+ in + " am ende ein, i = " + i);
v.add(input); // autoboxing
//printVector(v);
break;
}
}
} // end while
System.out.println("---------------------");
printVector(v);
}
// convenience method for debugging
public static void printVector(Vector v)
{
for(int i=0; i<v.size(); i++)
System.out.print(v.get(i)+ "\t");
System.out.println();
}
}