Trying to sort a multidimensional array

I'm in a Java class and am trying to create an inventory program. It doesn't have to store the data to a file, just create and sort arrays to display the information sorted. I'm using golfing discs as my inventory and was able to get the arrays stuffed and printed out how I liked. Now I just need to figure out how to sort the MasterArray by the disc name column (MasterArray[ ][2]) and, if those are the same, the SKU column (MasterArray[ ][0]).
The error I'm getting is:
DiscInventoryCall.java:134: non-static variable this cannot be referenced from a
static context
Arrays.sort( MasterArray, new DiscComparator() );
^
Note: DiscInventoryCall.java uses unchecked or unsafe operations.
Here is my code:
// Disc Inventory Program
import java.util.*;
public class DiscInventoryCall
     // start main method
     public static void main( String args[] )
    // create Scanner to grab input
    Scanner input = new Scanner( System.in );
          // declare variables
          String sendDiscSKU;
          String sendDiscBrand;
          String sendDiscName;
          String sendDiscType;
          int sendDiscWeight = 0;
          double sendDiscPrice = 0.00;
          int sendDiscCount = 0;
          double InventoryTotal = 0.00;
          int AllDone = 0;
          int Counter = 0;
          String DiscStop = "done"; // string value to stop the program
          int Weight1 = 0;
          int Weight2 = 0;
          int Price1 = 0;
          int Price2 = 0;
          int Count1 = 0;
          int Count2 = 0;
          int Value1 = 0;
          int Value2 = 0;
          // declare array variables
          String MasterArray[][] = new String[100][12];
          Double DoubleArray[][] = new Double[100][2];
          int IntArray[][] = new int[100][2];
          System.out.print( "Enter Disc SKU (enter \"done\" when finished): " );
          sendDiscSKU = input.nextLine();
          if ( sendDiscSKU.equals(DiscStop) )
         AllDone = 1;
    } // bypass while loop
          // begin while loop
          while ( AllDone == 0 )
               System.out.print( "Enter Disc Brand: " );
               sendDiscBrand = input.nextLine();
               System.out.print( "Enter Disc Name: " );
               sendDiscName = input.nextLine();
               System.out.print( "Enter Disc Type: " );
               sendDiscType = input.nextLine();
               System.out.print( "Enter Disc Weight (in grams): " );
               sendDiscWeight = input.nextInt();
               System.out.print( "Enter Disc Price: $" );
               sendDiscPrice = input.nextDouble();
               System.out.print( "Enter Disc Count: " );
               sendDiscCount = input.nextInt();
               // instantiate DiscInventory object
               DiscInventory Disc = new DiscInventory( sendDiscSKU, sendDiscBrand, sendDiscName, sendDiscType, sendDiscWeight, sendDiscPrice, sendDiscCount );
               // get Disc data
               //System.out.println();
               //System.out.println( "Disc information summary:");
               //System.out.println();
               //System.out.printf( "%15s %s\n", "Disc SKU:", Disc.getDiscSKU() );
               //System.out.printf( "%15s %s\n", "Disc Brand:", Disc.getDiscBrand() );
               //System.out.printf( "%15s %s\n", "Disc Name:", Disc.getDiscName() );
               //System.out.printf( "%15s %s\n", "Disc Type:", Disc.getDiscType() );
               //System.out.printf( "%15s %d grams\n", "Disc Weight:", Disc.getDiscWeight() );
               //System.out.printf( "%15s $%.2f\n", "Disc Price:", Disc.getDiscPrice() );
               //System.out.printf( "%15s %d\n", "No. Available:", Disc.getDiscCount() );
               System.out.printf( "%15s $%.2f\n\n", "Total Value:", Disc.DiscValue() );
               // System.out.printf( "\n%s:\n\n%s\n", "Disc information obtained by toString", Disc );
               // Add total inventory values
               InventoryTotal = InventoryTotal + Disc.DiscValue();
               System.out.printf( "%15s %.2f\n", "Total Inventory Value:", InventoryTotal );
               // Stuff the array
               MasterArray[Counter][0] = Disc.getDiscSKU();
               MasterArray[Counter][1] = Disc.getDiscBrand();
               MasterArray[Counter][2] = Disc.getDiscName();
               MasterArray[Counter][3] = Disc.getDiscType();
               MasterArray[Counter][4] = Integer.toString(Counter);
               MasterArray[Counter][5] = "0";        
               MasterArray[Counter][6] = Integer.toString(Counter);
               MasterArray[Counter][7] = "0";        
               MasterArray[Counter][8] = Integer.toString(Counter);
               MasterArray[Counter][9] =  "1";
               MasterArray[Counter][10] = Integer.toString(Counter);
               MasterArray[Counter][11] =  "1";
               DoubleArray[Counter][0] = Disc.getDiscPrice();
               DoubleArray[Counter][1] = Disc.DiscValue();
               IntArray[Counter][0] = Disc.getDiscWeight();
               IntArray[Counter][1] = Disc.getDiscCount();
               Counter++;
               System.out.print( "Enter Disc SKU (enter \"done\" when finished): " );
               input.nextLine();
               sendDiscSKU = input.nextLine();
         if ( sendDiscSKU.equals(DiscStop) )
              AllDone = 1;
             } // stop while loop
          } // end while loop
          Arrays.sort( MasterArray, new DiscComparator() );
          System.out.printf( "%-11s %-6s %-6s %-15s %-5s %-10s %-6s %-10s\n", "SKU", "Brand", "Name", "Type", "Weight", "Price", "Count", "Value" );
          for ( int Countup = 0; Countup < Counter; Countup++ )
               Weight1 = Integer.parseInt(MasterArray[Countup][4]);
               Weight2 = Integer.parseInt(MasterArray[Countup][5]);
               Price1 = Integer.parseInt(MasterArray[Countup][6]);
               Price2 = Integer.parseInt(MasterArray[Countup][7]);
               Count1 = Integer.parseInt(MasterArray[Countup][8]);
               Count2 = Integer.parseInt(MasterArray[Countup][9]);
               Value1 = Integer.parseInt(MasterArray[Countup][10]);
               Value2 = Integer.parseInt(MasterArray[Countup][11]);
               System.out.printf( "%-11s %-6s %-6s %-15s %-6d $%-8.2f %5d $%-9.2f\n",
               MasterArray[Countup][0],
               MasterArray[Countup][1],
               MasterArray[Countup][2],
               MasterArray[Countup][3],
               IntArray[Weight1][Weight2],
               DoubleArray[Price1][Price2],
               IntArray[Count1][Count2],
               DoubleArray[Value1][Value2] );
          System.out.printf( "\n\nThank you for using this program. \nYour total inventory value is: $%.2f\n", InventoryTotal );
     } // end main method
     // begin sorting method
     class DiscComparator implements Comparator
          public int compare( Object obj1, Object obj2 )
               int result = 0;
               String[] str1 = (String[]) obj1;
               String[] str2 = (String[]) obj2;
               // sort on name of disc
               if (( result = str1[2].compareTo(str2[2])) == 0 )
                    // if disc names are the same, sort on sku
                    result = str1[0].compareTo(str2[1]);
               return result;
     }     // end sorting method
} // end class DiscInventoryCallAny help on what I'm doing wrong would be appreciated.

I'm pretty new to OOP and, to be honest, wouldn't know what parts could be broken into separate objects.
There are some extra lines in there I could have removed (commented out) but forgot to do so before I posted it.
So when it shows:
DiscInventoryCall.java:134: non-static variable this cannot be referenced from a
static context
Arrays.sort( MasterArray, new DiscComparator() );
^
Is that saying the DiscComparator() is a non-static variable? or the MasterArray?

Similar Messages

  • Newbie trying to sort 2D string array

    Dear all,
    After read some book chapters, web sites including this, I still don't get the point.
    If I have a file like,
    1 aaa 213 0.9
    3 cbb 514 0.1
    2 abc 219 1.3
    9 bbc 417 10.4
    8 dee 887 2.1
    9 bba 111 7.1
    and I load into memory as a String[][]
    here comes the problem, I sort by column 1 (aaa,...,bba) using an adaptation of the Quicksort algorithm for 2D arrays
    * Sort for a 2D String array
    * @param a an String 2D array
    * @param column column to be sort
    public static void sort(String[][] a, int column) throws Exception {
    QuickSort(a, 0, a.length - 1, column);
    /** Sort elements using QuickSort algorithm
    static void QuickSort(String[][] a, int lo0, int hi0, int column) throws Exception {
    int lo = lo0;
    int hi = hi0;
    int mid;
    String mitad;
    if ( hi0 > lo0) {
    /* Arbitrarily establishing partition element as the midpoint of
    * the array.
    mid = ( lo0 + hi0 ) / 2 ;
    mitad = a[mid][column];
    // loop through the array until indices cross
    while( lo <= hi ) {
    /* find the first element that is greater than or equal to
    * the partition element starting from the left Index.
    while( ( lo < hi0 ) && ( a[lo][column].compareTo(mitad)<0))
    ++lo;
    /* find an element that is smaller than or equal to
    * the partition element starting from the right Index.
    while( ( hi > lo0 ) && ( a[hi][column].compareTo(mitad)>0))
    --hi;
    // if the indexes have not crossed, swap
    if( lo <= hi )
    swap(a, lo, hi);
    ++lo;
    --hi;
    /* If the right index has not reached the left side of array
    * must now sort the left partition.
    if( lo0 < hi )
    QuickSort( a, lo0, hi, column );
    /* If the left index has not reached the right side of array
    * must now sort the right partition.
    if( lo < hi0 )
    QuickSort( a, lo, hi0, column );
    * swap 2D String column
    private static void swap(String[][] array, int k1, int k2){
    String[] temp = array[k1];
    array[k1] = array[k2];
    array[k2] = temp;
    ----- end of the code --------
    if I call this from the main module like this
    import MyUtil.*;
    public class kaka
    public static void main(String[] args) throws Exception
    String[][]a = MyUtil.fileToArray("array.txt");
    MyMatrix.printf(a);
    System.out.println("");
    MyMatrix.sort(a,1);
    MyMatrix.printf(a);
    System.out.println("");
    MyMatrix.sort(a,3);
    MyMatrix.printf(a);
    for the first sorting I get
    1 aaa 213 0.9
    2 abc 219 1.3
    9 bba 111 7.1
    9 bbc 417 10.4
    3 cbb 514 0.1
    8 dee 887 2.1
    (lexicographic)
    but for the second one (column 3) I get
    3 cbb 514 0.1
    1 aaa 213 0.9
    2 abc 219 1.3
    9 bbc 417 10.4
    8 dee 887 2.1
    9 bba 111 7.1
    this is not the order I want to apply to this sorting, I would like to create my own one. but or I can't or I don't know how to use a comparator on this case.
    I don't know if I am rediscovering the wheel with my (Sort String[][], but I think that has be an easy way to sort arrays of arrays better than this one.
    I've been trying to understand the Question of the week 106 (http://developer.java.sun.com/developer/qow/archive/106/) that sounds similar, and perfect for my case. But I don't know how to pass my arrays values to the class Fred().
    Any help will be deeply appreciated
    Thanks for your help and your attention
    Pedro

    public class StringArrayComparator implements Comparator {
      int sortColumn = 0;
      public int setSortColumn(c) { sortColumn = c; }
      public int compareTo(Object o1, Object o2) {
        if (o1 == null && o2 == null)
          return 0;
        if (o1 == null)
          return -1;
        if (o2 == null)
          return 1;
        String[] s1 = (String[])o1;
        String[] s2 = (String[])o2;
        // I assume the elements at position sortColumn is
        // not null nor out of bounds.
        return s1[sortColumn].compareTo(s2[sortColumn]);
    // Then you can use this to sort the 2D array:
    Comparator comparator = new StringArrayComparator();
    comparator.setSortColumn(0); // sort by first column
    String[][] array = ...
    Arrays.sort(array, comparator);I haven't tested the code, so there might be some compiler errors, or an error in the logic.

  • Multidimensional Array Sort

    Please help. I am very new to java and trying to build a multidimensional array. I have two variables 1)item_name and 2)item_value. These are values that I obtain by looping through a database result set. I need to build and array that can hold these variables. Once the multidimensional array is built I need to be able to sort it by item value.
    For example I would like to do something like this:
    while (rs.next)
    array.name = item_name
    array.value = item_value
    end
    array.sort(value)
    Thanks for any help!

    Don't use a multidimensional array. Use an array of objects, where the objects are of a class that you define. It might be something as simple as class Item that just has two fields--name and value--and their getters and setters. Or maybe just getters if you want the class to be immutable.
    Have the class implement Comparable and sort on value.
    If you sometimes want to sort on value and sometimes on name, then you'll need to either define two Comparators (one for name, one for value) or make the class Comparable on whichever is the more "natural" ordering and define a Comparator for the other one.
    Either put them in an array and use one of the java.util.Arrays.sort methods to sort them, or put them in a List (java.util.LinkedList or java.util.ArrayList) and use Collections.sort to sort them.

  • Sorting a String Array in alpha order (Using ArrayList)

    Hello all!
    I am pretty new to Java and am trying to do a, seemingly, simple task; but cannot get the syntax right. I am trying to sort an ArrayList in aplha order based off of the variable String Product. Any help would be awesome!
    First Class:
    //This program stores all of the variables for use in Inventory.java
    public class Vars {
         // defining all variables
         private String product;
         private String prodCode;
         private double price;
         private double invCount;
         // Begin listing getters for class
         public Vars(String product) {
              this.product = product;
         public String getProdCode() {
              return prodCode;
         public String getProduct() {
              return product;
         public double getPrice() {
              return price;
         public double getInvCount() {
              return invCount;
         // Declaring the total variable
         public double total() {
              return invCount * price;
         // Begin listing setters for variables
         public void setProduct(String product) {
              this.product = product;
         public void setProdCode(String prodCode) {
              this.prodCode = prodCode;
         public void setInvCount(double invCount) {
              this.invCount = invCount;
         public void setPrice(double price) {
              this.price = price;
    Second Class:
    //This program will use the variables stored in Vars.java
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Scanner;
    public class Inventory {
         public static void main(String args[]) {
              Scanner input = new Scanner(System.in);
              //defining and declaring local variables
              String exit;
              int counter;
              double gtotal;
              exit = "exit";
              counter = 0;
              gtotal = 0;
              //beginning message and beginning of the loop
              System.out.print("Welcome to the Inventory Contol System\nPlease enter the Product name: ");
              System.out.println();
              System.out.println("When finished entering in the data, please enter EXIT in place of Product name.");
              String name = input.next();
              List<Vars> var = new ArrayList<Vars>(); //creating arraylist object
              //loop while exit is not entered, exit loop once exit is typed into product variable
              while (name.compareToIgnoreCase(exit) != 0) {
                   Vars vars = new Vars(name); //calling Vars methods
                   counter = counter ++;
                   System.out.println("Please enter the Product Code: ");
                   vars.setProdCode(input.next());
                   System.out.println("Inventory Count: ");
                   vars.setInvCount(input.nextDouble());
                   //Making sure that the value entered is a positive one
                   if(vars.getInvCount() < 0){
                        System.out.println("Please enter a positive number: ");
                        vars.setInvCount(input.nextDouble());
                   System.out.println("Price per product:");
                   vars.setPrice(input.nextDouble());
                   //Making sure that the value entered is a positive one
                   if(vars.getPrice() < 0) {
                        System.out.println("Please enter a positive number: ");
                        vars.setPrice(input.nextDouble());
                   System.out.println("Please enter the next Product name, or enter EXIT: ");
                   name = input.next();
                   gtotal += vars.total(); //calculation for Grand Total of all products entered
                   var.add(vars);
                   static void slectionSort(int[] product) {
                   for (int lastPlace = product.length-1; lastPlace > 0; lastPlace--) {
                   int maxLoc = 0;
                   for (int j = 1; j <= lastPlace; j++) {
                   if (product[j] > product[maxLoc]) {
                   maxLoc = j;
                   int temp = product[maxLoc];
                   product[maxLoc] = product[lastPlace];
                   product[lastPlace] = temp;
              //Sorting loop function will go here, before the information is displayed
              //Exit message and array list headers
              System.out.print("Thank you for using the Inventory program.\nHave a wonderful day.\n");
              System.out.printf("Code\tProduct\tCount\tPrice\tTotal\n");
              System.out.println();
              //For loop to display all entries via an ArrayList
              for (Vars vars : var) {
                   System.out.printf("%5s\t%5s\t%.01f\t$%.02f\t$%.02f\n\n", vars.getProdCode(),
                             vars.getProduct(), vars.getInvCount(), vars.getPrice(),vars.total());
              //Displays the amount of entries made and Grand Total of all products entered
              System.out.println();
              System.out.printf("The number of products entered is %d\n", var.size());
              System.out.printf("The Grand Total cost for the products entered is $ %s\n", gtotal);
              System.out.println();
    }

    go through below links, you can easily understand how to sort lists.
    http://www.onjava.com/lpt/a/3286
    http://java.sun.com/docs/books/tutorial/collections/interfaces/order.html
    http://www.javaworld.com/javaworld/jw-12-2002/jw-1227-sort.html

  • Bindind data to multidimensional Array

    I have a multidimensional Array (3D). I have some fields which I want to bind to some TextInputs:
    model.creditosConsumoModel.literaturaCredito[i][j][k]
    And here's a example of the data binding:
    text="{(model.creditosConsumoModel.literaturaCredito[4][12][0] as Apartado).texto}"
    The problem is: When I do a: model.creditosConsumoModel.literaturaCredito = new Array and I define the Array again with new data everything gets blank (all the text Inputs) and I loss the information.
    Resume: It only works the first time, but not the rest of the times.
    Thanks and regards!!!

    @Pauland
    That's what I was thinking as it was an array of arrays.
    @quebequiano
    Generally, for something like this, I make a wrapper object and set the values on that so I don't have to deal with issues like this.  I'm not sure how architecturally sound it is, but it sounds like you are trying to take small pieces of data and prepare them for your view, in which case a wrapper/adapter would provide you with the benefits of databinding.
    P.S Does your name mean "Quebecian" in spanish ?

  • Problems making windchill chart using multidimensional arrays

    Alright i am doing a program for my java class. The book doesnt tell me much and the teacher didnt either cause we had a midterm to take. Alright in this program i have to write a java program that produces a wind chill chart with temperatures from 50 to -50 degrees f in steps of 10 degrees, with wind speeds from 5 to 50mph, in steps of 5mph. The following formula may be useful.
    windchill= ((10.45+6.686112 * sqrt(windspeed)- .447041 * windspeed)/22.034)*(temperature- 91.4) + 91.4
    use for statements in your program and a function to calculate the wind chill factor at a given temperature and wind speed.
    I know im gonna have to use multidimensional arrays to do this problem, unless someone has an easier way to do it. I am really stuck. I have this so far.
    import javax.swing.*;
    public class lab7
    public static void main( String args[] )
    int a[][] = {{5,10,15,20,25,30,35,40,45,50},
    {-50,-40,-30,-20,-10,0,10,20,30,40,50}};
    System.exit(0);
    I am not even sure if that is correct but the major problem is how can i get the program to show a table with the temperature on the x coordinate at the top the wind speed on the y axis and then having the program use those arrays to calculate the windchill and put that in the table. I am really stuck and i was wondering if u guys could give me a little push in the right direction. The book doesnt say much so thats why im asking.
    Thank you everyone.

    I have no clue what i am doing right now. I am so confused it isnt even funny. I am trying something new to see what happens. The decimalformat didnt do anything for me. I have the numbers i just want to be able to put them into a chart. I wish my teacher would actually teach, and the book actually say how to do stuff.
    This is my program:
    import java.text.DecimalFormat;
    public class lab7
    DecimalFormat twoDigits = new DecimalFormat ("0.00");
    static private double windchill(double s, double t) { 
    return (((10.45 + 6.686112 * Math.sqrt(s) - .447041 * s)/(22.034))*(t-91.4) + 91.4);};
    static void print(double s, double t)
    {   System.out.print(" "+windchill(s, t));};
    static private void printRow(double s)
    { // the speed is assumed constant  
    for (double t= -50; t <= 50; t+= 10) // loop over the temperature values
    print(s, t); // print a row value
    System.out.println();};
    static private void printChart()
    {   for (double s= 5; s <= 50; s+= 5)      
    printRow(s);};
    public static void main(String args[])
    for (double t= -50; t <= 50; t+= 10) // loop over the temperature values
    {System.out.print( "   " + t);};
    System.out.println();
    System.out.println();
    for (double s= 5; s<=50; s+= 5)
    {System.out.println(s);};
    printChart();
    I am probably way off and this program is due tomorrow and i am going nuts. I tried to do it during the week and it didnt work out to well.
    Here is what it is outputting.
    C:\cis260>java lab7
    -50.0 -40.0 -30.0 -20.0 -10.0 0.0 10.0 20.0 30.0 40.0 50.
    0
    5.0
    10.0
    15.0
    20.0
    25.0
    30.0
    35.0
    40.0
    45.0
    50.0
    -57.26056937082865 -46.747092046159025 -36.233614721489374 -25.720137396819737
    -15.2066600721501 -4.6931827474804635 5.820294577189159 16.333771901858796 26.84
    7249226528433 37.36072655119807 47.87420387586771
    -82.65748711959239 -70.3479052865236 -58.03832345345484 -45.728741620386074 -33
    .41915978731731 -21.109577954248536 -8.799996121179774 3.5095857118890024 15.819
    167544957764 28.128749378026534 40.4383312110953
    -98.80774164293763 -85.35599188035366 -71.90424211776966 -58.452492355185655 -4
    5.00074259260168 -31.54899283001768 -18.097243067433695 -4.645493304849694 8.806
    256457734293 22.25800622031828 35.70975598290227
    -110.17157107350803 -95.91615586321751 -81.66074065292699 -67.40532544263644 -5
    3.14991023234592 -38.894495022055395 -24.639079811764873 -10.38366460147435 3.87
    17506088161713 18.127165819106693 32.38258102939722
    -118.4766111010257 -103.63385218298993 -88.79109326495416 -73.94833434691841 -5
    9.105575428882645 -44.262816510846875 -29.42005759281112 -14.57729867477535 0.26
    54602432604065 15.108219161296176 29.95097807933194
    -124.60889848734033 -109.33245587861754 -94.05601326989475 -78.77957066117196 -
    63.50312805244914 -48.22668544372635 -32.950242835003564 -17.67380022628076 -2.3
    973576175579723 12.87908499116483 28.15552759988762
    -129.09477971074705 -113.50108949075079 -97.90739927075452 -82.31370905075829 -
    66.72001883076203 -51.12632861076577 -35.53263839076952 -19.93894817077326 -4.34
    5257950777011 11.24843226921925 26.842122489215498
    -132.2771986196876 -116.45844341320333 -100.63968820671906 -84.82093300023479 -
    69.00217779375052 -53.18342258726625 -37.36466738078198 -21.545912174297698 -5.7
    27156967813428 10.09159823867084 25.91035344515511
    -134.39436482483956 -118.42588074953267 -102.45739667422575 -86.48891259891886
    -70.52042852361197 -54.55194444830505 -38.58346037299816 -22.614976297691257 -6.
    646492222384367 9.321991852922537 25.29047592822944
    -135.61971729379445 -119.56457462803812 -103.50943196228181 -87.45428929652547
    -71.39914663076914 -55.34400396501283 -39.288861299256496 -23.233718633500175 -7
    .178575967743839 8.876566698012482 24.931709363768803
    C:\cis260>
    All i want it to do is look like this: im just gonna make numbers in between just say that there is numbers in that whole thing. What am i missing. Thanks everyone so far for everything, i just need a little more and it should be done.
    -50 -40 -30 -20 -10 0 10 20 30 40 50
    5 65 44 55 78 4 45 etc etc etc
    10
    15
    20
    25
    30
    35
    40
    45
    50

  • Multidimensional array and chars

    Hi again,
    My apologies in advance if i can't word my question that well, i will try and be as clear and succinct as possible and hopefully for this newbie you can apprehend what i'm trying to figure out if i come up short.
    I'm trying to write a rather large control statement with a while loop and several nested ifs inside it that ultimately returns a single character after all is said and done, and then continually concatenates that character to a string which will eventually be output to a file. The part i'm stuck at is after i've changed the two letter characters into their ASCII values. I need to make the program take those two ASCII values and use them as a reference to a character in a multidimensional array of alphabetic characters, and then that character will be what is returned at the end.
    Here's the method, thanks in advance for your time.
    public String encode( String cipherKey )
            String textToEncode = input.next();
            String encodedText = " ";
            cipherKey = cipherKey.toUpperCase();
            textToEncode = textToEncode.toUpperCase();
            openFiles();
            int numberOfChars = textToEncode.length();
            int cipherPos = 0;
            int cipherLength = cipherKey.length();
            while (input.hasNext())
                for ( int count = 0; count < numberOfChars; count++ )
                    if (Character.isLetter(textToEncode.charAt(count)))
                        cipherPos %= cipherLength;
                        int xChar = (int) textToEncode.charAt(cipherPos);
                        int yChar = (int) textToEncode.charAt(count);
                        xChar -= 65;
                        yChar -= 65;
                        if ((xChar >= 0) && (xChar <= 25))
                            if ((yChar >= 0) && (yChar <= 25))
                        return ' ';
                     encodedText = encodedText +
        return encodedText; 
        }As you can see towards the end there are some incomplete statements where i became lost.

    its there, i couldnt c&p the whole program because it went over my character limit. Yeah it did compile but couldn't invoke my encode method without a NullPointerException.
    Here are the other methods in the class....
        public String setSource( String in )
            source = in;
            return source;
         Sets the value of the output file
         * @param out A <code>String</code> value representng name of output file.
         * @see #setSource
        public String setDestination( String out )
            destination = out;
            return destination;
         * Method to open both input and output files, and to test for exceptions
         * @see #encode
         * @see #decode
        private void openFiles()
        File inputFile = new File(source);  //Creates new file object from source file
        File outputFile = new File(destination);  //Creates new file object from destination file
            /* Tests whether input file exists and if so enables the Scanner
             * to read the data in from the source file. Catches SecurityException and
             * FileNotFoundException amd prints appropriate messages to user.
            if (inputFile.exists())
                try
                    input = new Scanner( new File( source ) );
                    FileReader reader = new FileReader(inputFile);
                    BufferedReader BufferIn = new BufferedReader(reader);
                catch ( SecurityException securityException )
                    System.err.println("You do not have read access to this file.");
                    System.exit( 1 );
                catch ( FileNotFoundException filesNotFoundException )
                    System.err.println("Error: File does not exist.");
                    System.exit( 1 );         
            /* Tests whether output file exists and if it does enables Formatter
             * to write encoded output to file. Catches SecurityException and
             * FileNotFoundException and prints appropriate message to user.
            if (outputFile.exists())
                try
                    output = new Formatter( new File( destination ) );
                catch ( SecurityException securityException )
                    System.err.println("You do not have write access to this file.");
                    System.exit( 1 );
                catch ( FileNotFoundException filesNotFoundException )
                    System.err.println("Error: File does not exist.");
                    System.exit( 1 );
         * Closes both input and output files after output file has been written
         * to.
         * @see #openFiles
        private void closeFiles()
            if ( output != null )
                input.close();
                output.close();
        }Edited by: fearofsoftware on Apr 17, 2009 8:35 PM

  • Multidimensional array in jquery class/object

    I'm trying to get into javascript and jquery for a hobby project of mine. Now I've used the last 4 hours trying to find a guide on how to create class objects that can contain the following information
    Identification : id
    Group : group
    Persons : array(firstname : name, lastname : name)
    Anyone know of a tutorial that can show me how to do this?
    I found this page where I can see that an object can contain an array, but it doesn't state whether it is possible to use a multidimensional array.
    And this page just describes the object with normal values.
    Any pointers in the right direction are appreciated.

    There are no classes in JavaScript. It uses a different style of objects and what you found is indeed what you need.
    Well, it might help to think about it as a dynamic, runtime-modifiable object system. An Object is not described by class, but by instructions for its creation.
    Here you have your object. Note that you can use variables everywhere.
    var id = 123;
    var test = {"Identification": id,
    "Group": "users",
    "Persons": [{"firstname":"john", "lastname":"doe"},{"firstname":"jane","lastname":"doe"}]
    This is identical to the following code. (The first one is a lot nicer, though.)
    var id = 123;
    var test = new Object();
    test.Identification = id;
    test["Group"] = "users;
    test.Persons = new Array();
    test.Persons.push({"lastname":"doe","lastname":"john"});
    test.Persons.push({"lastname":"doe","lastname":"jane"});
    As you can see, you can dynamically add new properties to an object. You can use both the dot-syntax (object.property) and the hash syntax (object["property"]) in JavaScript.

  • Question on System.arraycopy method and multidimensional array

    I'm trying to copy from single dimensional to multidimensional array using System.arraycopy method. The following is my problem.
    1) I need to specify the index of the multidimensional array while copying. Can I do that ? If yes , how???
    eg ; int a[] = new int[3];
    int b[] = new int[3][2]; I need to copy from a to b
    I tired the following and I'm getting an error.
    System.arraycopy(a,0,b[][1],0,3);
    How Can I achieve the above?? PLease Help --------------

    Java doesn't have multidimensional arrays. When you see an int[][] it's an array of arrays of ints. The arrays of ints might have different lengths like this one:int[][] arr =
    {{1,2,3,4},
    {1,2,3},
    {1,2},
    {1}
    };Do I need to say that arraycopy as you see it would fail in this case?
    If you know what kind of arrays you'll have you can simply implement your own arraycopy method (but it will not be as effecient as System.arraycopy) with a simple for-loop.

  • Synthesis bug with SV packed multidimensional array slices

    I've been using SV packed multidimensional arrays to do things like representing a bus which is many bytes wide, e.g. a 128-bit bus can be declared like this:
    logic [15:0] [7:0] myBus;
    You should be able to write "myBus[15:8]" to get the upper 64 bits (8 bytes) of this 128-bit wide packed value. However, I've found that in some expressions this produces some very buggy behavior. I've reduced it to a simplified example, with comments to show what works and what doesn't.
    `timescale 1ns / 1ps
    module sv_array_select (
    input logic sel,
    input logic [3:0] [1:0] i,
    output logic [3:0] outA,
    output logic [3:0] outB,
    output logic [3:0] outC
    // Works; equivalent to assign outA = {i[1], i[0]};
    assign outA = i[1:0];
    // Works; equivalent to assign outB = {i[3], i[2]};
    assign outB = i[3:2];
    // FAILURE
    // Synthesizes to equivalent of:
    // assign outC[2:1] = sel ? i[2] : i[0];
    // assign outC[3] = 1'bZ;
    // assign outC[0] = 1'bZ;
    assign outC = sel ? i[3:2] : i[1:0];
    endmodule
     I get this result in Vivado 2015.2 and 2013.2, haven't tried other tool versions.

    ,
    Yes, I can see that incorrect logic is getting generated by the tool.
    I will file a CR on this issue and will let you know the CR number.
    Thanks,
    Anusheel
    Search for documents/answer records related to your device and tool before posting query on forums.
    Search related forums and make sure your query is not repeated.
    Please mark the post as an answer "Accept as solution" in case it helps to resolve your query.
    Helpful answer -> Give Kudos
     

  • Sorting between multiple arrays.

    I thought that I had posted this yesterday; however as I can not find my post...
    I need assistance with part of a project where I need to sort between multiple arrays; using one of the columns as the sort criteria. The arrays contain integers, strings, and doubles; however I would like to sort and display the arrays alphabetically using the string column. I was told that a bubble array may work, however as I can not find specific information on the use of a bubble array, I really don't know where to start. The arrays look like the following:
    productArray[0] = new Product(1, "binder ", 15, 1.5, 0, 0);
    productArray[1] = new Product(2, "marker ", 13, .5, 0, 0);
    productArray[2] = new Product(3, "paper ", 24, .95, 0, 0);
    productArray[3] = new Product(4, "pen ", 5, .25, 0, 0); \
    Any assistance that anyone could provide would be greatly appreciated. I am a newbie when it comes to Java and the course materials are extremely vague.
    Dman

    Thank you for your assistance.
    The site that I found to be most helpful was the http://www.onjava.com/lpt/a/3286 site; however I am still experiencing problems. I have added code to the program as noted below:
    public class Inventoryprogrampart3
    /** Creates a new instance of Main */
    * @param args the command line arguments
    public static void main(String[] args)
    // create Scanner to obtain input from command window
    java.util.Scanner input = new java.util.Scanner( System.in );
    double totalInventoryValue = 0;
    NumberFormat nf = NumberFormat.getCurrencyInstance();
    System.out.println(); // Displays a blank line
    System.out.println( " Welcome to the Inventory Program - Part 2 " ); // Display the string
    System.out.println( " ----------------------------------------- " ); // displays a line of characters
    System.out.println(); // Displays a blank line
    System.out.println( "This program will output an office supply inventory" ); // Display the string
    System.out.println( "listing that includes item numbers for the" ); // Display the string.
    System.out.println( "inventoried products, the items product names, the" ); // Display the string.
    System.out.println( "quantity of each product in stock, the unit price" ); // Display the string
    System.out.println( "for each product, the total value of each products" ); // Display the string
    System.out.println( "inventory, and a total value of the entire inventory." ); // Display the string
    System.out.println(); // Displays a blank line
    System.out.println( "*****************************************************" ); // Displays a line of characters
    System.out.println(); // Displays a blank line
    Product[] productArray = new Product[ 7 ]; // creates 7 product arrays
    // adds data to the 7 arrays
    productArray[0] = new Product();
    productArray[0].setitemNumber(1);
    productArray[0].setproductName ( "binder" );
    productArray[0].setitemQuantity(15);
    productArray[0].setitemPrice(1.5);
    productArray[0].setinventoryValue(0);
    productArray[1] = new Product();
    productArray[1].setitemNumber(2);
    productArray[1].setproductName( "paper" );
    productArray[1].setitemQuantity(24);
    productArray[1].setitemPrice(.95);
    productArray[1].setinventoryValue(0);
    productArray[2] = new Product();
    productArray[2].setitemNumber(4);
    productArray[2].setproductName( "pen" );
    productArray[2].setitemQuantity(5);
    productArray[2].setitemPrice(.25);
    productArray[2].setinventoryValue(0);
    productArray[3] = new Product();
    productArray[3].setitemNumber(3);
    productArray[3].setproductName( "marker" );
    productArray[3].setitemQuantity(13);
    productArray[3].setitemPrice(.5);
    productArray[3].setinventoryValue(0);
    productArray[4] = new Product();
    productArray[4].setitemNumber(5);
    productArray[4].setproductName( "pencil" );
    productArray[4].setitemQuantity(28);
    productArray[4].setitemPrice(.4);
    productArray[4].setinventoryValue(0);
    productArray[5] = new Product();
    productArray[5].setitemNumber(7);
    productArray[5].setproductName( "tape" );
    productArray[5].setitemQuantity(14);
    productArray[5].setitemPrice(1.65);
    productArray[5].setinventoryValue(0);
    productArray[6] = new Product();
    productArray[6].setitemNumber(6);
    productArray[6].setproductName( "staples" );
    productArray[6].setitemQuantity(13);
    productArray[6].setitemPrice(1.25);
    productArray[6].setinventoryValue(0);
    System.out.println( "Inventory listing prior to sorting by product name:" );
    System.out.println(); // Displays a blank line
    System.out.println( "Item #"+"\t"+"Product Name"+"\t"+"Stock"+"\t"+"Price"+"\t"+"Total Value"); // Displays a header line for the inventory array display
    System.out.println(); // Displays a blank line
    System.out.println( "-----------------------------------------------------" ); // Displays a line of characters
    System.out.println(); // Displays a blank line
    for (int i=0; i<=6; i++)
    Product products = productArray;
    String productName = products.getproductName();
    int itemNumber = products.getitemNumber();
    int itemQuantity = products.getitemQuantity();
    double itemPrice = products.getitemPrice();
    double inventoryValue = products.getinventoryValue();
    System.out.println( productArray[i].getitemNumber() +"\t"+ productArray[i].getproductName() +"\t"+"\t" + productArray[i].getitemQuantity() +"\t"+ nf.format(productArray[i].getitemPrice()) +"\t"+ nf.format(productArray[i].getinventoryValue()) );
    Arrays.sort(productArray);
    System.out.println( "-----------------------------------------------------" ); // Displays a line of characters
    System.out.println(); // Displays a blank line
    System.out.println( "Inventory listing after being sorted by product name:" );
    System.out.println(); // Displays a blank line
    System.out.println( "Item #"+"\t"+"Product Name"+"\t"+"Stock"+"\t"+"Price"+"\t"+"Total Value"); // Displays a header line for the inventory array display
    System.out.println(); // Displays a blank line
    System.out.println( "-----------------------------------------------------" ); // Displays a line of characters
    for(int i=0; i <= 6; i++)
    totalInventoryValue = totalInventoryValue + productArray[i].getinventoryValue(); // calculates the total value of the entire products inventory
    System.out.println( productArray[i].getitemNumber() +"\t"+ productArray[i].getproductName() +"\t"+"\t"+ productArray[i].getitemQuantity() +"\t"+ nf.format(productArray[i].getitemPrice()) +"\t"+ nf.format(productArray[i].getinventoryValue()) );
    }// end for
    System.out.println(); // Displays a blank line
    System.out.println( "The total value of the entire inventory is: " + nf.format(totalInventoryValue) ); // Displays the entire inventory value
    System.out.println(); // Displays a blank line
    System.out.println( "*****************************************************" ); // Displays a line of characters
    } // end public static void main
    }// end public class Inventoryprogrampart3 main
    The following utilities have been set:
    import java.io.*;
    import java.text.*;
    import java.util.Scanner;
    import java.util.*;
    import java.util.Arrays;
    import java.util.ArrayList;
    import java.util.Comparator;
    The program compiles, however when I try to run the program I receive the following error (which outputs about 1/2 way through the program:
    Exception in thread "main" java.lang.ClassCastException: Product can not be cast to java language comparable.
    (along with a listing of other errors - I can't even get my cut and paste to work on my command prompt window).
    I've tried about 50 different iterations and nothing seems to work.

  • How to save joint's coordinates into multidimensional array

    Hello everyone, 
    i have a question that's seems silly but i'm stuck in it since yesterday !
    i'm developping a small application with ms kinect sdk 1.7 and when detecting skeleton and all joints are tracked i want to save it into multidimensional array of (20,3) which are respectively the number of joints in human body and the coordinates along
    the 3 axes. 
    my goal is to calculate after that the max and the min values throught the 3 axes.. so i began with this piece of code.
    private static double[][] JointTab = new double [20][3];
    double save_joints(Skeleton first)
    foreach (Joint j in first.Joints)
    for (int li = 0; li < 20; li++)
    JointTab[li][0] = j.Position.X;
    JointTab[li][1] = j.Position.Y;
    JointTab[li][2] = j.Position.Z;
    return JointTab;
    it indicates that the method does not return a value necessary ? how could i fix this error ? 
    i will need to call the JointTab after that how can i sort each colomn with Array.Sort() method  ?
    thanks for any help ! 
    DKF

    The issue you are having is not specific to the Kinect SDK. You will need to look into your managed code construction of the array since that is not valid. There are ways to create a single array of a structure which you can then provide your own enumeration.
    You may want to look at the generic collections of .Net to see what would be best since you will way to provide some logic to the sort since the points in space will need to calculate a length.
    Carmine Sirignano - MSFT

  • Multidimensional Arrays + Me + OOP = Fear

    node.java
    class node {
         int[][] grid = new int[0][0];
         void detect(){
              System.out.println(grid);
    game.java
    class game {
         public static void main(String args[]) {
              node a = new node();
              a.detect();
    The output of this code is:
    http://img237.imageshack.us/img237/6556/outputxy7.png
    I am trying to create an imaginary grid so I can implement A* algorithm into my game which will later be an applet.
    Why did the output of this come out so weird? I do not understand multidimensional arrays and I struggle to understand object oriented programming.
    I have known Java since Nov 2006, but I have always dodge some of this difficult stuff. I am totally self taught and I have been learning through the Internet and a very old Java 2 book. So please speak "dumb" to me.
    Thank you,
    Andrew.

    Oh, grow up. If you get insulted this easily, you'll be inconsolable when you have to get a real job. I'm so sick of these children who want help but also want their genius to remain unquestioned.
    Anyway my point wasn't that you altered the image, but rather that you were careless in what you presented as data. Some of the stuff on that image couldn't possibly have worked with the code you posted. (In particular "java node" would not have even run. It wouldn't produce any output at all other than an error message.)
    Part of debugging is gathering real, useful, accurate information. And if you want help debugging you have to share real, useful, and accurate information. If you gather output and then change your code, you should at the very least make this clear.

  • Working with MultiDimensional arrays

    Hi,
    Just wondering if anyone could help with a problem Im
    having with multi-dimensional arrays in Java:-
    I want to create a multi-dimensional array (e.g. 3 dimensions). I know this can be defined by code such as:-
    int[ ][ ][ ] my_array = new int[10][10][10];
    (would create a 10x10x10)
    My problem is that I want to address the array with indexes that aren't known at compile time, trying to do this causes an error:-
    e.g. my_array[0][0][0] = 1; is ok (i.e. the element at 0,0,0 is set to 1)
    but if the indexes 0,0,0 are replaced by the return value of some function,
    e.g.
    my_index1 = generateIndex(x, y, .... etc);
    my_index2 = generateIndex(a, b, ...etc);
    my_index3 = generateIndex(f,g, .. etc);
    (where generateIndex is some function that returns an integer)
    and the array element set with
    my_array[my_index1][my_index2][my_index3] = 3;
    This generates an error. I know that this problem can be overcome through the use of pointers in C++ but since Java doesn't use pointers, im a bit stuck!
    I have come across a method that overcomes this for a 1D array, using the setInt function of the Array class, e.g.
    Array.setInt(my_1Darray, 0, 1); (would set the first value of my_1Darray to 1);
    (i.e. Array.setInt(array_name, int index, int value);
    But I can't see how this works with multidimensional arrays.
    If anyone could shed any light on this problem, that would be great.
    Thanks,
    Peter

    public class NDArray {
            public static void main(String[] s) {
                    int[][][] _3D = new int[10][10][10];
                    for (int c = 0; c < 1000; c++)
                            _3D[rnd()][rnd()][rnd()]=rnd();
                    for (int i=0; i < 10; i++) {
                      for (int j=0; j < 10; j++) {
                        for (int k=0; k < 10; k++) {
                            System.out.print(_3D[i][j][k]);
                            System.out.print(" ");
                      System.out.println();
                    System.out.println();
            static int rnd() {return (int) (10*Math.random());}
    /* output (example):
    7 0 0 4 9 9 3 0 0 2
    0 1 8 9 6 0 0 0 0 0
    5 3 0 5 0 0 1 0 0 3
    5 6 0 5 0 0 3 0 0 0
    0 0 0 0 4 0 0 5 8 6
    0 9 0 9 0 1 0 2 0 0
    3 3 8 6 0 0 1 0 3 4
    9 6 7 0 0 0 3 6 6 3
    2 0 8 7 0 1 4 0 7 0
    8 0 4 4 3 0 0 5 4 0
    0 0 0 0 3 0 1 0 0 4
    9 0 8 9 1 0 9 0 9 0
    0 8 3 4 1 0 8 0 0 2
    3 0 0 7 3 3 0 5 0 0
    0 0 0 1 4 6 0 0 0 3
    3 5 8 5 8 0 8 2 0 4
    4 0 1 7 0 1 0 4 4 0
    6 0 5 0 0 4 0 8 1 0
    0 0 6 6 2 0 0 4 5 0
    0 6 7 0 4 0 7 5 0 0
    2 4 0 5 0 0 0 2 1 7
    0 6 0 9 0 0 6 1 2 0
    0 5 9 0 1 2 4 0 8 6
    0 0 8 0 0 3 3 8 0 0
    4 7 5 9 0 8 1 0 0 9
    2 0 0 3 0 0 8 3 0 7
    0 6 0 6 0 0 0 0 1 0
    0 9 9 8 4 2 0 0 7 2
    4 0 0 9 0 0 0 1 0 6
    7 0 6 5 2 3 7 8 0 2
    0 0 3 5 0 0 0 0 0 0
    3 0 0 0 0 2 0 0 6 0
    6 0 3 3 6 0 4 0 1 6
    0 0 7 2 0 8 0 0 0 0
    0 0 9 0 6 8 2 1 0 0
    9 0 4 1 3 9 3 2 7 7
    0 3 1 0 3 0 0 9 0 5
    0 0 0 0 6 0 4 8 0 5
    1 8 4 6 7 0 0 4 4 0
    0 4 8 0 0 0 6 0 4 0
    0 9 3 0 0 0 6 0 0 8
    6 8 2 9 6 0 0 7 9 0
    7 1 9 0 0 5 0 2 3 0
    0 0 0 0 9 9 0 7 0 9
    9 8 8 2 9 8 0 5 8 0
    2 3 0 4 0 4 1 0 6 9
    3 3 0 0 0 0 7 6 9 3
    6 2 2 1 0 5 8 3 0 6
    0 6 0 0 0 0 0 0 7 5
    0 6 0 0 0 3 3 0 2 0
    3 6 5 5 8 2 0 9 1 0
    8 0 7 0 9 0 9 0 2 0
    0 2 9 0 0 1 2 4 0 2
    3 1 0 2 0 0 0 0 0 0
    0 5 0 3 8 8 3 0 0 0
    9 0 9 0 5 1 0 9 5 0
    8 0 0 8 8 7 0 3 1 0
    4 0 0 0 1 8 0 9 0 5
    0 0 6 6 0 0 5 2 6 8
    0 4 0 9 0 0 2 0 0 3
    0 5 8 1 7 0 0 4 2 0
    6 5 0 0 2 0 6 8 8 7
    0 0 0 0 3 0 8 4 0 0
    2 3 3 0 0 7 6 8 0 4
    4 1 7 3 8 0 2 3 3 0
    1 5 0 0 4 1 3 7 3 1
    0 0 0 6 0 6 0 0 3 0
    3 7 0 4 5 9 5 5 0 8
    3 8 6 4 0 0 0 1 6 0
    0 0 2 0 2 9 0 0 0 5
    0 5 6 0 5 5 4 0 6 7
    0 2 2 0 9 7 4 2 9 0
    4 0 5 4 8 3 0 0 2 0
    0 0 9 3 3 0 8 8 7 0
    0 7 9 7 0 0 0 7 1 0
    2 0 0 0 5 8 2 0 0 5
    2 4 9 6 6 0 0 0 6 0
    0 6 6 7 0 2 0 0 5 2
    0 9 0 4 8 5 1 0 7 6
    0 0 7 0 4 0 3 8 0 9
    9 4 0 0 0 4 0 0 0 5
    2 0 4 7 7 5 4 0 9 0
    0 0 1 0 5 0 1 0 6 0
    0 6 0 9 0 9 0 4 7 0
    5 9 6 6 2 8 8 4 1 4
    9 7 3 2 7 6 0 2 3 0
    3 1 5 0 8 0 0 0 0 0
    9 0 0 3 0 8 7 0 4 0
    8 6 6 4 0 4 6 4 5 0
    0 0 0 0 0 4 4 0 0 9
    8 8 0 2 0 0 0 1 0 0
    6 2 1 1 9 0 5 1 0 0
    0 9 1 0 6 0 4 0 0 0
    9 4 0 3 0 1 0 7 6 0
    0 9 0 7 8 6 0 5 0 0
    0 8 8 9 0 5 7 0 0 0
    0 4 5 1 6 0 5 2 9 3
    6 0 0 0 0 0 0 9 1 0
    5 9 1 9 2 5 3 0 0 9
    2 9 5 1 7 0 0 0 9 0
    */Seems to work just fine. How is your code different from mine?

  • I am trying to sort out a Macbook that has been subjected to a scam attact.  It has been infected by something called MacScanner and is asking for registration to remove trojans, etc.  I have used 2 programs to try and rmove it unsuccessfully.  Help!!!!!!

    I am trying to sort out a friends macbook that has been subjected to a scam attack.  I am a pc user so am struggling here a bit.  Her machine seems to have been attacked by a program called MacSecurity.  It is telling her that she has a number of viruses, etc and she needs to register to get rid of them.  A **** page keeps trying to open as well.  This type of scam is often found on PC's and is easy to remove.
    After scouring the internet for solutions and came accross 2 programs that are said to remove it - I installed them and neither have worked.  The programs i tried were MacScan 2 and iAntivirus.  Both are free programs. 
    Can anyone help please.

    See this discussion for instructions on removing the trojan.

Maybe you are looking for

  • Can't figure out what the problem is, please help!

    Hey, so I have a Mac Mini which I bought nearly 3 years ago. I've been running the latest system 10.6.6, when the issues started. Everything would just unexpectedly quit and occasionally, I'd get the "You need to re-start your computer..." grey scree

  • Transfering photos from different pcs without deleting existing photos

    How can i copy photos to ipad if i use different pcs in every 2 weeks, without losing the existing photos?i think itunes will delete them. I am traveling and dont have a home computer.thanks

  • Photoshop, Illustrator, Premiere Pro, Media Encoder - Failed to install/update

    They all failed to install or update to 2014 versions. Exit Code: 6 Please see specific errors below for troubleshooting. For example, ERROR: -------------------------------------- Summary -------------------------------------- - 0 fatal error(s), 2

  • Bug in Interpolate 1D for repeated X values?

    Using this vi:   LabVIEW 2014:vi.lib:gmath:interp.llb:Interpolate 1D If you have the (X,Y) points (100,1)(100,2)(200,3)(200,4) and you want to interpolate to find a value for X=150, you would expect (hope?!) to get the answer 2.5. However, the VI ret

  • Aggregation of Measures

    When we try to map the measures of the cube to the relational tables, the default SQL generated is only with SUM operator, however we have the scenario where wo would need to use AVG. Pls can you advise is there any way in Oracle OLAP to achieve this