NullPointerException with an array of LinkedList

Hello Everybody.
I'm new to Java and I am trying to use a quite complicated data structure but I am missing something since it does not work.
Here comes my code:
import java.util.LinkedList;
class ObjectToHold {
public int i;
ObjectToHold (int j) {
i=j;
public class ModifiedArray {
static final int ARRAY_DIMENSION = 79;
private LinkedList[] myInternalArray;
ModifiedArray() {
LinkedList[] myInternalArray = new LinkedList[ARRAY_DIMENSION];
for (int i=0;i<ARRAY_DIMENSION;i++) {
myInternalArray[i] = new LinkedList();
void insert (int slot, ObjectToHold a) {
((LinkedList)myInternalArray[slot]).addLast(a);
public static void main(String[] args) {
ModifiedArray myModifiedArray = new ModifiedArray();
for (int j=0; j<ARRAY_DIMENSION;j++) {
myModifiedArray.insert(j,new ObjectToHold(j));
The class ModifiedArray contains a private array of LinkedList objects. I wrote an "insert" method to put objects of type ObjectToHold (which is a very simple one!) into the array.
While compiling the code, everything works fine.
On the other hand, when I run the compiled code I get the following run time Exception:
Java.lang.NullPointerException
at ModifiedArray.insert ....
Modified.Array.main ...
The problem must be in the way I use the reference to myInternalArray.
I also tried
myInternalArray[slot].addLast(a);
instead of
((LinkedList)myInternalArray[slot]).addLast(a);
but I got the same result.
Can anybody help me or do I have to ask in some other forum?
Thank you very much
Tommaso

You defined myInternalArray as local to the constructor as well as an instance variable.
Try..
import java.util.LinkedList;
class ObjectToHold {
  public int i;
  ObjectToHold (int j) {
    i=j;
public class ModifiedArray {
  static final int ARRAY_DIMENSION = 79;
  private LinkedList[] myInternalArray;
  ModifiedArray() {
    myInternalArray = new LinkedList[ARRAY_DIMENSION];
    for (int j=0; j<ARRAY_DIMENSION; j++) {
      myInternalArray[j] = new LinkedList();
  void insert (int slot, ObjectToHold a) {
    ((LinkedList)myInternalArray[slot]).addLast(a);
  public static void main(String[] args) {
    ModifiedArray myModifiedArray = new ModifiedArray();
    for (int j=0; j<ARRAY_DIMENSION;j++) {
      myModifiedArray.insert(j,new ObjectToHold(j));
}

Similar Messages

  • How Do You Populate A Spark List Control With An Array?

    Hello, all,
    Sorry to come accross so frustrated, but how in the name of God do you populate a Spark list control with the data in an array?  You used to be able to do this with the mx:List control, but the guys developing Flex just had to make things more difficult than they need to be!  I am more of a code purist and prefer doing things the way they have been done for decades, but apparently nothing can ever stay simple!
    I simply want to populate a list control with an array and this shouldn't be rocket science!  I found out that I must use a "collection" element, so I decided that an arrayCollection would be best.  However, after searching Adobe's documentation about arrayCollections, I am lost in a black hole of data binding, extra lines of code just to add a new element, the need to sort it, etc...!
    Here is my code:
    var pendingArray:ArrayCollection = new ArrayCollection();
    for ( var i:int = 0 ; i < queue.length ; i++ )
         var item:UserQueueItem = queue[i] as UserQueueItem ;
         if ( item.status == UserQueueItem.STATUS_PENDING )
         pendingArray.addItem({label:item.descriptor.displayName,descriptor:item.descriptor});
    Here is the relevant MXML:
    <s:VGroup>
         <s:List id="knockingList" width="110" height="100"/>              
    </s:VGroup>
    I'm not getting any errors, but the list is not populating.
    I have seen several examples where the arrayCollection is declared and populated in MXML:
            <mx:ArrayCollection id="myAC">
                <!-- Use an fx:Array tag to associate an id with the array. -->
                <fx:Array id="myArray">
                    <fx:Object label="MI" data="Lansing"/>
                    <fx:Object label="MO" data="Jefferson City"/>
                    <fx:Object label="MA" data="Boston"/>
                    etc...
               </fx:Array>
            </mx:ArrayCollection>
    That may be fine for an example, but I think this is a rare situation.  Most of the time I would image that the arrayCollection would be created and populated on the fly in ActionScript!  How can I do this?
    Thanks in advance for any help or advice anyone can give!
    Matt

    In your post it seemed like you were trying to take care of many considerations at once: optimization, design, architecture.  I would suggest you get something up and running and then worry about everything else.
    If I use data binding, then I will probably have to declare the  arrayCollection as a global variable and then I'll have to write 100 or  so extra lines of code to addItem(), removeItem(), sort(), etc...  It  just seems like too much overhead.
    I believe you may have some misconceptions about databinding in general.  You won't have to make it a global variable and you certainly won't need an extra 100 lines of code.  If you did this forum would be a very , very quiet place.
    I don't want to use data binding because the original array is refreshed  often and there is one function called by an event that re-declares the  arrayCollection each time, populates it with the array, and then sets  it as the list's dataprovider.
    That is the beauty of the ArrayCollection, it can handle the updates to its source Array. I don't know if you need to redeclare the ArrayCollection, resetting the source to the new Array allows everyone involved to keep their references so you don't have to worry about any "spooky" stuff going on.

  • Help with parallel arrays of different data types

    Hello all, I am having an issue with parallel arrays. My program requires me to read information from a text file into 4 parallel arrays (2 String and 2 double). My text file needs to look something like this:
    John Johnson
    0000004738294961
    502.67
    1000.000
    Jane Smith
    0000005296847913
    284.51
    1000.000
    ...and so on
    Where the first thing is the name (obviously), an account number, the balance in the account, and the credit limit. I just cant figure out how to read everything into the arrays. We havent learned anything too heavy, and this seems a little too advanced for my class, but I guess we will manage. Any help will be appreciated. Thanks guys.
    Casey

    Man this is a dumb homework assignment. The requirements scream out for a class along the lines of
    public class Account{
      private String name, number;
      private double balance,creditlimit;
       // more code here
    }and then to use a List of Account objects.
    Anyway what's your actual problem. There's nothing very hard about it. A loop. So....
    You should consider posting (formatted) code showing what you have done and where exactly you are stuck.

  • Performance Problems with intrinsic array multiplikation in Fortran with Su

    Hello,
    I found a serious performance problem in my application with intrinsic array multiplikation. Therefore I wrote a small test program to check if this a general problem or only exists in my code.
    The test program (as seen below) was compiled with Sunstudio12 und Solaris 5.10 on an 64 bit Amd Opteron Machine. First with high optimization (f95 -fast -g), and the second time with out optimization (f95 -O0 -g). In both cases the intrinsic array mupltiplication had a lot of tlb and L2 cache misses (I made some test with the performance analyzer) which caused a huge increase in computation time compared to the explicit loop. In the ideal case the compiler should create the nested loops from the intrinsic statement and both functions should use exactly the same computing time.
    I also tried compiling with Studio11, the problem also occurs there. Maybe its a compiler bug but I'm not sure.
    Greetings
    Michael Kroeger
    program test
    !Test zur Ausfuehrung einer einfachen array Multiplikation
    implicit none
    real,dimension(:,:,:),pointer::check1,check2
    integer i,j,k,ni,nj,nk,status
    ni=1000
    nj=1000
    nk=100
    allocate(check1(0:ni,0:nj,0:nk),STAT=status)
    write(*,*)status
    allocate(check2(0:ni,0:nj,0:nk),STAT=status)
    write(*,*)status
    check1(i,j,k)=25
    check2(i,j,k)=25
    call intrinsic_f(check1)
    call withloop(check2,i,j,k)
    deallocate(check1,check2)
    contains
    subroutine intrinsic_f(check1)
    real, dimension(:,:,:),pointer::check1
    check1=check1*5
    end subroutine intrinsic_f
    subroutine withloop(check2,ni,nj,nk)
    real, dimension(:,:,:),pointer::check2
    integer i,j,k,nk,nj,ni
    do k=0,nk
    do j=0,nj
    do i=0,ni
    check2(i,j,k)=check2(i,j,k)*5
    enddo
    enddo
    enddo
    end subroutine withloop
    end program

    I will try the large pages, but what me puzzles is, that the intrinsic function has cache misses, but the loop function has not. All documentation says, that the compiler would expand the intrinsic function into 3 nested loops, so that both functions should be essential the same (and the compiler says it has created 3 loops from the intrinsic). Since they are not the same, this is a severe problem.
    I have a fairly large code for high performance simulations, and this intrinsic functions are a significant bottle neck. If it is not a compiler bug, I would have to rewrite all intrinsic functions into loops.

  • Trouble with primitive arrays and casting, lesson 521

    hi everyone!
    there is a problem i discovered right now - after years with java where was no necessity to do this.....
    and i'm shure this must have been the topic already, but i couldn't find any helpful resource :-/
    right here we go:
    1. an array is a (special) kind of object.
    2. there are "primitive" arrays and such containing references to objects. of course - and i imagine why - they are treated differently by the VM.
    3. then both are - somehow - subclasses of Object. whereas primitive types are not really, primitive-arrays are. this is hidden to the programmer....
    4. any array can be "pointed" at via local Object variable, like this:
    Object xyz = new int[6];
    5. arrays of Objects (with different dimensions) can be casted, like this:
      Object pointer = null;
      Object[]   o  = new SomeClass[42] ;
      Object[][] oo = new OtherClass[23] [2] ;
      Object[][][] ooo = new OtherClass[23] [2] [9] ;
      o = oo = ooo;     // this is save to do,
                                   //because "n-dimensional" object-arrays
                                  // are just arrays of  other arrays, down to simple array
    pointer = o;         // ok, we are referencing o via Object "pointer"6. but, you cannot do this with primitive types:
      int[]  i1 = new int [99] ;
      int[][] i2 = new int [1] [3] ;
      i1 = i2                  // terror: impossible. this is awful, if you ask me.
                                   // ok, one could talk about "special cases" and
                                   // "the way the VM works", but this is not of interest to me as
                                   // a programmer. i'm not happy with that array-mess!
      pointer = i2;       // now this is completely legal. i2, i1 etc is an object!7. after the preparation, let's get into my main trouble (you have the answer, i know!) :
    suppose i have a class, with methods that should process ANY kind of object given. and - i don't know which. i only get it at runtime from an unknown source.
    let's say: public void BlackBox( Object x );
    inside, i know that there might be regular objects or arrays, and for this case i have some special hidden method, just for arrays... now try to find it out:
    public void BlackBox( Object x )
      if ( x == null)
           return;
       Class c = x.getClass();
       if ( c.isArray() )
              // call the array method if it's an array.........
              BlackBoxes(     (Object [] )  x );         // wait: this is a cast! and it WILL throw an exception, eventually!
              return;
       else
               DoSpecialStuffWith( x );
    }ok ? now, to process any kind of array, the special method you cannot reach from outside:
    private void BlackBoxes( Object[] xs )
       if ( xs != null )
            for ( Object x : xs )
                 BlackBox( x );
    // this will end up in some kind of recursion with more than one array-dimension, or when an Object[] has any other array as element!this approach is perfectly save when processing any (real) Object, array or "multi-dimensional" arrays of Objects.
    but, you cannot use this with primitive type arrays.
    using generics wouldn't help, because internally it is all downcasted to Object.
    BlackBox( new Integer(3) ) ---- does work, using a wrapper class
    BlackBox( new Integer[3] ) ----- yep!
    BlackBox( 3 ) ---- even this!
    BlackBox( new int[42] ) ---- bang! ClassCastException, Object[] != int[]
    i'm stuck. i see no way to do this smoothly. i could write thousands of methods for each primitive array - BlackBox( int[] is ) etc. - but this wouldn't help. because i can't cast an int[][] to int[], i would also have to write countless methods for each dimension. and guess, how much there are?
    suppose, i ultimately wrote thousands of possible primitive-type methods. it would be easy to undergo any of it, writing this:
    BlackBox( (Object) new int[9] [9] );
    the method-signature would again only fit to my first method, so the whole work is useless. i CAN cast an int[] to Object, but there seems no convenient way to get the real array out of Object - in a generic way.
    i wonder, how do you write a serialisation-engine? and NO, i can't rely on "right usage" of my classes, i must assume the worst case...
    any help appreciated!

    thanks, brigand!
    your code looks weird to me g and i think there's at least one false assumption: .length of a multidimensional array returns only the number of "top-level" subarrays. that means, every length of every subarray may vary. ;)
    well i guess i figured it out, in some way:
    an int is no Object;
    int[ ] is an Object
    the ComponentType of int [ ] is int
    so, the ComponentType of an Object int[ ] is no Object, thus it cannot be casted to Object.
    but the ComponentType of int [ ] [ ] IS Object, because it is int [ ] !
    so every method which expects Object[], will work fine with int[ ] [ ] !!
    now, you only need special treatment for 1-dimensional primitive arrays:
    i wrote some code, which prints me everything of everything:
        //this method generates tabs for indentation
        static String Pre( int depth)
             StringBuilder pre = new StringBuilder();
             for ( int i = 0; i < depth; i++)
                  pre.append( "\t" );
             return pre.toString();
        //top-level acces for any Object
        static void Print( Object t)
             Print ( t, 0);
        //the same, but with indentation depth
        static void Print( Object t, int depth)
            if ( t != null )
                 //be shure it is treated exactly as the class it represents, not any downcast
                 t = t.getClass().cast( t );
                if ( t.getClass().isArray() )
                     //special treatment for int[]
                     if ( t instanceof int[])
                          Print( (int[]) t, depth);
                     // everything else can be Object[] !
                     else
                          Print( (Object[]) t, depth );
                     return;
                else
                    System.out.println( Pre(depth) + " [ single object:] " + t.toString() );
            else
                System.out.println( Pre(depth) + "[null!]");
        // now top-level print for any array of Objects
        static void Print( Object [] o)
             Print( o, 0 );
        // the same with indentation
        static void Print( Object [] o, int depth)
            System.out.println( Pre(depth) + "array object " + o.toString() );
            for ( Object so : o )
                    Print( so, depth + 1 );
        //the last 2 methods are only for int[] !
        static void Print( int[] is)
             Print( is, 0 );
        static void Print( int[] is, int depth)
            System.out.println( Pre(depth) + "primitive array object " + is.toString() );
            // use the same one-Object method as every other Object!
            for ( int i : is)
                 Print ( i, depth + 1 );
            System.out.println( "-----------------------------" );
        }now, calling it with
    Print ( (int) 4 );
    Print ( new int[] {1,2,3} );
    Print( new int[][] {{1,2,3}, {4,5,6}} );
    Print( new int[][][] {{{1,2,3}, {4,5,6}} , {{7,8,9}, {10,11,12}}, {{13,14,15}, {16,17,18}} } );
    Print( (Object) (new int[][][][] {{{{99}}}} ) );
    produces this fine array-tree:
    [ single object:] 4
    primitive array object [I@9cab16
          [ single object:] 1
          [ single object:] 2
          [ single object:] 3
    array object [[I@1a46e30
         primitive array object [I@3e25a5
               [ single object:] 1
               [ single object:] 2
               [ single object:] 3
         primitive array object [I@19821f
               [ single object:] 4
               [ single object:] 5
               [ single object:] 6
    array object [[[I@addbf1
         array object [[I@42e816
              primitive array object [I@9304b1
                    [ single object:] 1
                    [ single object:] 2
                    [ single object:] 3
              primitive array object [I@190d11
                    [ single object:] 4
                    [ single object:] 5
                    [ single object:] 6
         array object [[I@a90653
              primitive array object [I@de6ced
                    [ single object:] 7
                    [ single object:] 8
                    [ single object:] 9
              primitive array object [I@c17164
                    [ single object:] 10
                    [ single object:] 11
                    [ single object:] 12
         array object [[I@1fb8ee3
              primitive array object [I@61de33
                    [ single object:] 13
                    [ single object:] 14
                    [ single object:] 15
              primitive array object [I@14318bb
                    [ single object:] 16
                    [ single object:] 17
                    [ single object:] 18
    array object [[[[I@ca0b6
         array object [[[I@10b30a7
              array object [[I@1a758cb
                   primitive array object [I@1b67f74
                         [ single object:] 99
    -----------------------------and i'll have to write 8 methods or so for every primitive[ ] type !
    sounds like a manageable effort... ;-)

  • Array of linkedlist of object - help! plesse!

    I am writing an array of linkedlist and the elements of the linkedlist is an object carrying 2 interger. It didn't compile and the message is as follows:
    C:\thesis5>javac testLL2.java
    testLL2.java:22: cannot resolve symbol
    symbol : variable vertexFanObj2
    location: class testLL2
    vertexFanObj2 = myLL2[ i].get(j);
    ^
    1 error
    My program is as follows:
    import java.net.*;
    import java.io.*;
    import java.util.LinkedList;
    public class testLL2 {
    public static void main(String[] args) throws IOException {
    int myLLLength;
    Integer intObj;
    LinkedList myLL2 [] = new LinkedList[10];
    vertexFan vertexFanObj;
    for (int i = 0; i < 10; i++) {
    myLL2[ i] = new LinkedList();
    for (int j=0; j < 5; j++) {
    vertexFanObj = new vertexFan();
              vertexFanObj.setupVertex(j, -j);
    myLL2.add(vertexFanObj);
    for (int i = 0; i < 10; i++) {
    myLLLength = myLL2[ i].size();
    for (int j=0; j<myLLLength; j++) {
    vertexFanObj2 = myLL2[ i].get(j);
    System.out.println(vertexFanObj.vertex1+" "+vertexFanObj.vertex2);
    class vertexFan {
    int vertex1, vertex2;
    void setupVertex(int vertexA, int vertexB) {
    vertex1=vertexA;
    vertex2=vertexB;
    I 've got lost! Please kindly help you! Many thanks in advance!

    for (int i = 0; i < 10; i++) {
    myLL2[ i] = new LinkedList();
    for (int j=0; j < 5; j++) {
    vertexFanObj = new vertexFan();
    vertexFanObj.setupVertex(j, -j);
    myLL2.add(vertexFanObj);
    for (int i = 0; i < 10; i++) {
    myLLLength = myLL2[ i].size();
    for (int j=0; j<myLLLength; j++) {
    vertexFanObj2 = myLL2[ i].get(j);
    System.out.println(vertexFanObj.vertex1+" "+vertexFanObj.vertex2);
    } Its a scope issue.
    You define vertexFanObj in a for loop. then try to access it from outside that for loop. (in another for loop)
    for (int i = 0; i < 10; i++) {
    myLL2[ i] = new LinkedList();
    vertexFanObj = new vertexFan(); //I MOVED THIS LINE
    for (int j=0; j < 5; j++) {
    vertexFanObj.setupVertex(j, -j);
    myLL2.add(vertexFanObj);
    for (int i = 0; i < 10; i++) {
    myLLLength = myLL2[ i].size();
    for (int j=0; j<myLLLength; j++) {
    vertexFanObj2 = myLL2[ i].get(j);
    System.out.println(vertexFanObj.vertex1+" "+vertexFanObj.vertex2);
    } should work properly...

  • Java.lang.NullPointerException with OracleXMLParser V2

    Hi,
    I am getting java.lang.NullPointerException with OracleXMLParser V2.
    Following is some of the code snippet. I am not sure where I am going
    wrong. I am using the SAXParser. I tried both FileReader as well as URL
    InputSources But I am getting the same error.
    Parser parser = new SAXParser();
    parser.setDocumentHandler(this);
    parser.setEntityResolver(this);
    parser.setDTDHandler(this);
    parser.setErrorHandler(this);
    try {
    FileReader fileReader = new FileReader(defaultFileName);
    //InputSource iSource = new InputSource(fileReader);
    URL myURL = new URL("http://ewdev02/ooppub01.xml");
    InputSource iSource = new InputSource(myURL.toString());
    parser.parse(iSource);
    //parser.parse("http://ewdev02/ooppub01.xml");
    catch (FileNotFoundException fe) {
    System.err.println("File Not Found!");
    catch (SAXParseException se)
    System.out.println("Sax Exception: " + se.getMessage());
    catch (IOException ioe)
    System.out.println("IO Exception: " + ioe.getMessage());
    catch (Exception e){
    System.out.println("Error Parsing: " + e.toString ());
    Here are some of my habdlers:
    public void startDocument() {
    System.out.println("Beginning of the Document!");
    public void endDocument() throws SAXException {
    System.out.println("End of the Document!");
    System.out.println("A total of " + n + "Records inserted in the database!");
    public void startElement(String elname) throws SAXException {
    if (elname.equalsIgnoreCase("DOCS")){
    System.out.println("Biginning of the document! Ignoring <Docs>");
    curColumn = new AIColumns();
    else if (elname.equalsIgnoreCase("DOC")){
    System.out.println("Begining of <DOC>");
    curColumn.flush();
    n++;
    currentElement = elname;
    System.out.println( currentElement );
    public void endElement(String elname) throws SAXException {
    if (elname.equalsIgnoreCase("DOC")){
    System.out.println("End of <DOC>");
    //Now call the function to insert in the database
    try {
    DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver());
    } catch ( Exception e ) {
    System.err.print("Exception: ");
    System.err.println( e.getMessage() );
    return;
    ..... after this I insert the record into database.
    Your help is greatly appreciated.
    Best Regards,
    Chandra Shirashyad

    Hi,
    Can you please also post the stack trace for where the Null pointer exception is occurring?
    Thank you,
    Oracle XML Team
    null

  • Change properties of a cluster element withing an array of clusters

    Hello all,
    I have an array of cluster that is shaped as a line with different display elements.
    A list or a tree wouldn't have made it, so I had to use a cluster and make a table.
    The problem is that I want to change not only the text but also the text color.
    Individually.
    I found this :
    http://www.ni.com/example/30904/en/
    But it change the property in all the clusters in the array, not just the one I need.
    Some people have the same problem :
    http://forums.ni.com/t5/LabVIEW/Reference-to-Array-of-Clusters-with-an-array-element/td-p/1006427
    http://forums.ni.com/t5/LabVIEW/Different-set-of-values-for-two-rings-in-an-array-of-clusters/m-p/10...
    http://forums.ni.com/t5/LabVIEW/array-of-clusters-get-references-to-all-the-clusters/td-p/1079456
    http://forums.ni.com/t5/LabVIEW/How-can-I-reference-the-properties-of-a-control-in-a-cluster-in/m-p/...
    http://forums.ni.com/t5/LabVIEW/Writing-only-to-certain-cluster-elements-in-an-array-by/m-p/2200728
    http://forums.ni.com/t5/LabVIEW/Update-Properties-Of-One-Control-In-An-Array/m-p/3015501
    http://forums.ni.com/t5/LabVIEW/Array-of-clusters-and-in-the-cluster-is-a-bar-meter-how-can-I/m-p/15...
    http://forums.ni.com/t5/LabVIEW/Property-node-of-a-control-inside-of-cluster-inside-an-array/m-p/946...
    Obviously, while in a list/table or tree you can change the property of an individual
    cell (font, color) you cannot do it within an array of cluster, by some sort of magic,
    the property of a cluster element (font, color) are all linked together, hence rendering
    the use of an array worthless.
    A possible hack is proprosed by using control masking, setting one visible and the
    other invisble, swapping their position, whatever. It's a hack you have to perform,
    hence add another code to maintain.
    Is that still the case or is there now a more official way to handle individual cluster
    properties, not just its data ? After all that's a common real-life example that should
    be handled by Labview. In my opinion.
    David Koch
    Solved!
    Go to Solution.

    altenbach wrote:
    One of the elements could be a 2D picture indicator of about the same size. You can write text in any color using picture functions.
    Here's what I had in mind. Seems to work just fine (I would fine-tune the font, picture border, etc. but this should get you started).
    LabVIEW Champion . Do more with less code and in less time .
    Attachments:
    ColorText.png ‏13 KB
    ColorText.vi ‏9 KB

  • Doesn't NVL work with Assosiative array elements

    Doesn't NVL work with Assosiative arrays? When i tried to UPDATE empdtls table with the values stored
    in v_ename array, i got no_data_found error because
    the query, select ename bulk collect into v_ename.....returns only 5 rows and v_ename(6) was null. So i tried NVL and COALESCE for v_ename(6). I couldn't succeed.
    Any workarounds?
    create table empdtls
    (ename1 varchar2(30),
    ename2 varchar2(30),
    ename3 varchar2(30),
    ename4 varchar2(30),
    ename5 varchar2(30),
    ename6 varchar2(30),
    location varchar2(30));
    SQL> insert into empdtls(location) values ('NY');
    1 row created.
    SQL> commit;
    declare
    type ename_arraytyp is table of varchar2(100) index by binary_integer;
    v_ename ename_arraytyp;
    begin
    select ename bulk collect into v_ename from emp where sal>2900;
    dbms_output.put_line(v_ename(1));
    dbms_output.put_line(v_ename(2));
    dbms_output.put_line(v_ename(3));
    update empdtls
               set ename1=v_ename(1),
                   ename2=v_ename(2),
                   ename3=v_ename(3),
                   ename4=v_ename(4),
                   ename5=v_ename(5),
                   ename6=NVL(v_ename(6),'No Name')
               where location='NY';
    commit;
    end;
    declare
    ERROR at line 1:
    ORA-01403: no data found
    ORA-06512: at line 9Message was edited by:
    J.Kiechle

    If you used a schema level collection type (i.e. created with CREATE TYPE) you could also use the unsupported SYS_OP_CEG function which appears to return collection elements for given index values without error if the element does not exist.
    Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
    SQL> CREATE OR REPLACE TYPE varchar2_table
      2  AS
      3     TABLE OF VARCHAR2 (4000);
      4  /
    Type created.
    SQL> DECLARE
      2     v_ename varchar2_table;
      3  BEGIN
      4     SELECT ename
      5     BULK COLLECT INTO v_ename
      6     FROM   emp
      7     WHERE  sal > 2900;
      8
      9     UPDATE empdtls
    10        SET ename1 = sys_op_ceg (v_ename, 1),
    11            ename2 = sys_op_ceg (v_ename, 2),
    12            ename3 = sys_op_ceg (v_ename, 3),
    13            ename4 = sys_op_ceg (v_ename, 4),
    14            ename5 = sys_op_ceg (v_ename, 5),
    15            ename6 = sys_op_ceg (v_ename, 6)
    16      WHERE location = 'NY';
    17  END;
    18  /
    PL/SQL procedure successfully completed.
    SQL>

  • Updating a JTable with an array of values

    Ther is a constructor that allows for the cretion of the table with an iniital array of values. However subsequent updates of blocks of data- say you received an array of updated data form a database- reuiqre you to update ince cell at a time. Is ther any way fo updating a whole block at once. I should point out that I am asking this because I am using JTables in the Matlab programming environment where arrays are the basic unit and looping through is a comparatively slow process

    Yes, you can extend the AbstractTableModel and write a method for updating a whole block.
    lets say you've got a Vector with Float[] arrays as elements to hold a 2D array of Float. The you could write:
          TableModel dataModel = new AbstractTableModel() {
                public int getColumnCount() { return col_names.size(); }
                public int getRowCount() { return data.size();}
                public Object getValueAt(int row, int col) {
                   return ((Float)((Float[])data.elementAt(row))[col]).toString();
                public String getColumnName(int col) {
                 return ((String)col_names.elementAt(col));
                public Class getColumnClass(int col) {
                 return String.class;
                public boolean isCellEditable(int row, int col) {
                  return true;
                public void setValueAt(Object aValue, int row, int col) {
                   try {
                     Float fv = Float.valueOf((String)aValue);
                    ((Float[])data.elementAt(row))[col] = fv;
                   } catch (Exception ex) {
                public void setBlock(Float block[][], int row, int col) {
                   // copy the Arrays with System.arrayCopy into data
          };PS: I don't know, if the above is correct written, havn't test this. But I hope you can recognize the idea behind it.
    wami

  • Need help in text field with 2D array

    text field with 2D array
    Hi
    I need help to represent (i) in from field and (j) in to field
    I and j are 2D an array indices.
    This code are not complated
    import java.applet.*;
    import java.awt.*;
    import java.awt.event.*;
    //declaring class
    public class test3 extends Applet implements ActionListener
    { //declaring the TextField
    private TextField fromField ,toField;
    //declaring an array
    int weight[][];
    int m = 99; // m is infinity
    int N; // Set of Nodes
    int d; // distance
    int i; // source Node
    int j; // destition Node
    //declaring values of text field
    private int from = i; // start Node
    private int to = j; // end node
    public void init()
    setBackground(Color.white);
    setForeground(Color.red);
    //giving labels
    Label TITLE2,TITLE1;
    TITLE1 = new Label("from:");
    add(TITLE1);
    fromField = new TextField(5);
    add(fromField);
    // register listener using void add actionListener
    fromField.addActionListener(this);
    TITLE2 = new Label("to");
    add(TITLE2);
    toField = new TextField(5);
    add(toField);
    // register listener using void add actionListener
    toField.addActionListener(this);
    // event handler methods
    public void actionPerformed(ActionEvent event) {
    //declaring textfield
    from=Integer.parseInt(fromField.getText());
    to=Integer.parseInt(toField.getText());
    weight =new int[7][7];
    weight[1][1] = 0; weight[2][1]= 2;
    weight[1][2]= 2; weight[2][2]= 0;
    weight[1][3]= 5; weight[2][3]= 3;
    weight[1][4]= 1; weight[2][4]= 2;
    weight[1][5]= 99; weight[2][5]= 99;
    weight[1][6]= 99; weight[2][6]= 99;
    weight[3][1]= 5;
    weight[3][2]= 3;
    weight[3][3]= 0;
    weight[3][4]= 3;
    weight[3][5]= 1;
    weight[3][6]= 5;
    for (int i=1; i<7; ++i) {
    for (int j=1; j<7; ++j)

    all your base are belong to us

  • Problem with an array (Array index out of bounds)

    Hey guys, i have a problem with an array, i just want to print a few things but it won't let me because of this error, here's my code
         public static void MosDat()
              int i;
              for(i=0 ; i<n ; i++);
                   Client [ i ].print1();
                   Client [ i ].print2();
              return;
         }//MosDat
    where "n" is a global variable, and client is .
    I pretty much know how it woks, so i tried it like this and gave "n" the value of "1":
    public static void MosDat()
              int i;
              for(i=0 ; i<n ; i++);
                   Client [ 0 ].print1();
                   Client [ 0 ].print2();
              return;
         }//MosDat
    the printing methods i created worked prefectly when i tried it like that... so i really don't know where the problem could be... thanks anyone who can help me.

    for(i=0 ; i < n ; i++);I spy with my little eye,
    one semicolon too many.Well-spotted. ;-)Practicing on those weird question marks is my secret training.

  • Help with PHP array code

    Not sure what's going on here, but hopefully someone can spot where I'm going wrong.
    Its especially weird, as I'm using the same code, with the same database table names etc but on a different site.
    Basically, I've set up a database table to store customer feedback on products.
    Its all working fine on this site :
    http://www.mye-reader.co.uk/customerreviews.php
    But on the site I'm working on, its only showing the first record. There are only a couple of records at the moment, but I've tried changing the query from ASC to DESC, and it swaps the one it shows, so it looks like the issue is with the array. Even though its the same code.
    http://www.mybabymonitors.co.uk/reviews.php
    Anyway, my query looks like :
    mysql_select_db($database_connPixelar, $connPixelar);
    $query_rsReviews = "SELECT * FROM feedback WHERE Approved = 'Yes' ORDER BY Product DESC";
    $rsReviews = mysql_query($query_rsReviews, $connPixelar) or die(mysql_error());
    $row_rsReviews = mysql_fetch_assoc($rsReviews);
    $totalRows_rsReviews = mysql_num_rows($rsReviews);
    And the array code looks like :
    <table cellpadding="0" cellspacing="0" width="100%" border="0">
           <?php
         $groups = array();
    while ($row = mysql_fetch_assoc($rsReviews)) {
        $groups[$row['Product']][] = $row;
    foreach ($groups as $product_name => $rows) {
        echo "<tr><td class=\"product\">$product_name</td></tr>";
        foreach ($rows as $row) {
            echo "<tr><td class=\"review\">".$row['Review']."</td></tr>";
            echo "<tr><td class=\"name\">".$row['CustomerName']."</td></tr>";
            echo "<tr><td class=\"date\">".$row['Date']."</td></tr>";
    ?>
    </table>
    Any ideas what's going on here?

    Its OK - I figured it out - it was the
    $row_rsReviews = mysql_fetch_assoc($rsReviews);
    line in the query.
    Turns out it wasn't that one was working, and the other not - they were both starting from the second record.

  • Using equals method with an array?

    Hello all,
    I am attempting to use the equals method with an array and keep getting compiling errors. Could you please take a look at my code and tell me where I am going wrong:
    if(board[row][col].equals(" "))
              str=str + " ";
              else
              str=str + board[row][col];
    Thank you.

    Hello all,
    I am attempting to use the equals method with an
    array and keep getting compiling errors. Could you
    please take a look at my code and tell me where I am
    going wrong:
    if(board[row][col].equals(" "))
              str=str + " ";
              else
              str=str + board[row][col];
    Thank you.If you could post more of your code, that would be quite helpful...

  • Using a For Loop with an array

    Ok, the issue is with the enabling of the buttons on my
    stage. I run a loop to deactivate them all when one is clicked,
    then I want to turn them back on, EXCEPT the one which was clicked.
    I thought I could start off with an array of MC names and simply
    delete them from the array. But I can't get my head around exactly
    how to read in the array contents as MC names...
    Any help would be greatly appreciated.
    Mike

    Try something like this:

Maybe you are looking for

  • Family account for contacts but with same apple ID - iCloud use

    Hi, I am writing to ask what the best way to setup a multiple contacts account using the same apple ID for iCloud.  My wife and I both use the same apple ID for our iPhones as well as our iMac and iPad.  I would like to be able to have my contacts on

  • GR in Third Party Process

    Friends I read threads regarding Third Party Process but it made me more confused. Jus want some clarification. 1.Does GR take place in third party process or not and if not then how can we make it happen. 2.We want customer invoice to be created bef

  • Outlook emails at work - transferring to mac Entourage or Mail or anything at home !

    Hi, I use PC Outlook at work.  I have loads of personal emails but work does not allow me to use the "export" function to export any emails from my work system, even if personal (ugh).  So I cannot export my emails or folders as a .pst file (or anyth

  • Accounts being created for internet fraud.

    Dear Skype Users! The group of people using English and German languages for the creation of internet-sending-money fraud has been discovered working actively in Skype accounts. The signs of these people are constantly being renovated profiles of US

  • Little problem with rename view

    Hej, I've been having a problem an small problem with this... so far i'm changing the position of the tree of and Active Directory account... the major problem is that if i move this account 3 times the accountId fot that resurce is still the origina