Please give a comment on this program.

This program is to find a product, size and color. It is abstract program.
abstract class Pants{
protected string pro_code;
protected int size=0;
protected string color;
boolean sizeIs(string s)
boolean colorIs(string c)
boolean buttonFront(string b)
public Pants(string p, int s, string c){
pro_code=p; size=s; color = c;}
public boolean size( ){
s.size=sizeIs;
system.out.println("size");
if(sizeIs ==true)
system.out.println(sizeIs);
public boolean color( ){
colour = colorIs;
system.out.println("color");
if(colourIs = true)
system.out.println(color)
public boolean buttonFront( ){
if(buttonFront ==true)
system.out.println("zipper");
else
system.out.println("button");
public class test{
public static void main (string[ ]args){
system.out.println("Input Product code:");
p.pro_code;
Pants p = newPants[2];
Pants p1 = newPants[2];
for (int i = 0; i<=2; i++){
system.out.println(p.pro_code + p.size +p.color)
system.out.println(p1.pro_code + p1.size +p1.color)
}

before I comment on the code, its better to ask the compiler, since compiler is one whose comments really matter, so please try to compile your code first.
Secondly which aspect you want your code to be reviewed from :
Readability
Maintainabilty
Reusability
From an OO perspective or otherwise. Your question is too generic in nature

Similar Messages

  • Unable to charge my Ipad 4 with my Laptop (HP 7010tx) USB . I am Getting error message as "Not Charging" . Please give a solution for this ...???

    Unable to charge my Ipad 4 with my Laptop (HP 7010tx) USB . I am Getting error message as "Not Charging" . Please give a solution for this ...???

    The quickest way (and really the only way) to charge your iPad is with the included 10W or 12W (5W on Mini) USB Power Adapter. iPad will also charge, although more slowly, when attached to a computer with a high-power USB port (many recent Mac computers) or with an iPhone Power Adapter (5W). When attached to a computer via a standard USB port (2.5W, most PCs or older Mac computers) iPad will charge very slowly (but iPad indicates not charging). Make sure your computer is on while charging iPad via USB. If iPad is connected to a computer that’s turned off or is in sleep or standby mode, the iPad battery will continue to drain.
    Apple recommends that once a month you let the iPad fully discharge & then recharge to 100%.
    How to Calibrate Your Mac, iPhone, or iPad Battery
    http://www.macblend.com/how-to-calibrate-your-mac-iphone-or-ipad-battery/
    At this link http://www.tomshardware.com/reviews/galaxy-tab-android-tablet,3014-11.html , tests show that the iPad 2 battery (25 watt-hours) will charge to 90% in 3 hours 1 minute. It will charge to 100% in 4 hours 2 minutes. The new iPad has a larger capacity battery (42 watt-hours), so using the 10W charger will obviously take longer. If you are using your iPad while charging, it will take even longer. It's best to turn your new iPad OFF and charge over night. Also look at The iPad's charging challenge explained http://www.macworld.com/article/1150356/ipadcharging.html
    Also, if you have a 3rd generation iPad, look at
    Apple: iPad Battery Nothing to Get Charged Up About
    http://allthingsd.com/20120327/apple-ipad-battery-nothing-to-get-charged-up-abou t/
    Apple Explains New iPad's Continued Charging Beyond 100% Battery Level
    http://www.macrumors.com/2012/03/27/apple-explains-new-ipads-continued-charging- beyond-100-battery-level/
    New iPad Takes Much Longer to Charge Than iPad 2
    http://www.iphonehacks.com/2012/03/new-ipad-takes-much-longer-to-charge-than-ipa d-2.html
    Apple Batteries - iPad http://www.apple.com/batteries/ipad.html
    Extend iPad Battery Life (Look at pjl123 comment)
    https://discussions.apple.com/thread/3921324?tstart=30
    New iPad Slow to Recharge, Barely Charges During Use
    http://www.pcworld.com/article/252326/new_ipad_slow_to_recharge_barely_charges_d uring_use.html
    Best Practices for iPad Battery Charging
    http://www.ilounge.com/index.php/articles/comments/best-practices-for-ipad-batte ry-charging/
    Tips About Charging for New iPad 3
    http://goodscool-electronics.blogspot.com/2012/04/tips-about-charging-for-new-ip ad-3.html
    How to Save and Prolong the battery life of your new ipad
    https://discussions.apple.com/thread/4480944?tstart=0
    Prolong battery lifespan for iPad / iPad 2 / iPad 3: charging tips
    http://thehowto.wikidot.com/prolong-battery-lifespan-for-ipad
    iPhone, iPod, Using the iPad Charger
    http://support.apple.com/kb/HT4327
    Install and use Battery Doctor HD
    http://itunes.apple.com/tw/app/battery-doctor-hd/id459702901?mt=8
    To Extend a Device’s Battery Life, Get to Know It Better
    http://tinyurl.com/b67c7xz
    iPad Battery Replacement
    http://www.apple.com/batteries/replacements.html
    In rare instances when using the Camera Connection Kit, you may notice that iPad does not charge after using the Camera Connection Kit. Disconnecting and reconnecting the iPad from the charger will resolve this issue.
     Cheers, Tom

  • I want to start a new iTunes U course for catolog and I don't know what can I do please give me description about this title.

    I want to start a new iTunes U course for catolog and I don't know what can I do please give me description about this title.

    If you haven't already done so then you can contact iTunes support via this page and ask them why the message is appearing (these are user-to-user forums, we won't know why) : http://www.apple.com/support/itunes/contact/ - click on Contact iTunes Store Support on the right-hand side of the page

  • Is Apple providing any karaoke service such as selling karaoke software, whole set of karaoke hardware or even karaoke store? If yes, please give me information on this; If no, let me know if there are similar karaoke services providing in the future.

    Is Apple providing any karaoke service such as selling karaoke software, whole set of karaoke hardware or even karaoke store? If yes, please give me information on this; If no, let me know if there are similar karaoke services providing in the future.

    No, Apple does not. What other companies might provide what you're looking for I don't know. Try searching the web for "karaoke software" or something similar.
    Regards.

  • Please give the meaning of this 9.2.0.7

    please give the meaning of this 9.2.0.7
    each number represents what?

    It's a version number. They're quite common in the computer industry.
    The first number is the version of the database. This supposedly represents major changes in database functionality (usually there's a big idea Oracle 8 was ORDBMS, 9 was (I think) XML, 10 was definitely grid, who knows what 11 will bring).
    The second and third numbers represent incremental releases - these represent enhances to the main release. Deciding whether the next release after 9.0.7 should be numbered 9.0.8 or 9.1.0 is often just down to marketing.
    The fourth number is a patch release and just represents a package of bug fixes.
    It's interersting (well, mildly diverting) that 8i went from 8.1.5 through to 8.1.7.4 but never made it to 8.2. That eventually became 9.0.1.
    Is that what you wanted to know?
    Cheers, APC

  • Sir since update of ios 8.1.2 i got serious battery problem on 3g 4.30 hrs my battery gets low and sometimes serious net probelms please give an update for this issue its not alone me my friends too getting many problem lcommonly battery problem

    sir since update of ios 8.1.2 i got serious battery problem on 3g 4.30 hrs my battery gets low and sometimes serious net probelms please give an update for this issue its not alone me my friends too getting many problem commonly battery problem please can this be resolved
    its not related to any hardware because last year april i got replacement new phone from apple and i maintained it well...!

    Probably apps running in the background are causing this, sometimes Mail get's stuck connecting to the mail server, or some social media app like Facebook can also be a reason for prolonged background activity.
    Try to reset the phone by holding the sleep and home button for about 10sec, until the Apple logo comes back again. You will not lose any data by resetting, but it can cure some glitches.
    If this does not help, setting it up as new device would be the next step:
    How to erase your iOS device and then set it up as a new device or restore it from backups
    Also take a look at these tips to prolong the battery life again:
    http://www.overthought.org/blog/2014/the-ultimate-guide-to-solving-ios-battery-d rain

  • Hello Experts please give some suggestions in this code

    Hello Experts . Please give suggestions in changing the below code to increase the performance . Thanks in advance for all your suggestions...
    PARAMETERS   : Pr_WERKS LIKE EKPO-WERKS OBLIGATORY,
                   Pr_EINDT LIKE EKET-EINDT OBLIGATORY.
    SELECT-OPTIONS : S_LIFNR FOR  EKKO-LIFNR MATCHCODE
                                    OBJECT KRED OBLIGATORY.
    DATA: BEGIN OF SELEC OCCURS 10,
            SIGN(1),
            OPTION(2),
            LOW  LIKE p_eindt,
            HIGH LIKE p_eindt,
         END   OF SELEC.
    SELEC-SIGN = 'I'.
    SELEC-OPTION = 'BT'.
    SELEC-LOW = pr_eindt.
    SELEC-HIGH = pr_eindt + 31.
    SELECT * FROM EKET WHERE EINDT IN SELEC.
        CHECK EKET-MENGE NE 0.
        SELECT * FROM EKPO WHERE EBELN = EKET-EBELN AND
                                 EBELP = EKET-EBELP AND
                                 WERKS = Pr_WERKS.
          SELECT * FROM EKKO WHERE EBELN = EKET-EBELN AND
                                   LIFNR IN S_LIFNR AND
                                   BSTYP = 'L' AND
                                   FRGKE = 'R'.
            SELECT SINGLE * FROM MAKT WHERE MATNR = EKPO-MATNR AND
                                            SPRAS = 'EN'.
            SELECT SINGLE * FROM LFA1 WHERE LIFNR = EKKO-LIFNR.
            EXTRACT DETAIL.
          ENDSELECT.
        ENDSELECT.
      ENDSELECT.

    Ways of Performance Tuning
    1.     Selection Criteria
    2.     Select Statements
    •     Select Queries
    •     SQL Interface
    •     Aggregate Functions
    •     For all Entries
    Select Over more than one internal table
    Selection Criteria
    1.     Restrict the data to the selection criteria itself, rather than filtering it out using the ABAP code using CHECK statement. 
    2.     Select with selection list.
    SELECT * FROM SBOOK INTO SBOOK_WA.
      CHECK: SBOOK_WA-CARRID = 'LH' AND
             SBOOK_WA-CONNID = '0400'.
    ENDSELECT.
    The above code can be much more optimized by the code written below which avoids CHECK, selects with selection list
    SELECT  CARRID CONNID FLDATE BOOKID FROM SBOOK INTO TABLE T_SBOOK
      WHERE SBOOK_WA-CARRID = 'LH' AND
                  SBOOK_WA-CONNID = '0400'.
    Select Statements   Select Queries
    1.     Avoid nested selects
    SELECT * FROM EKKO INTO EKKO_WA.
      SELECT * FROM EKAN INTO EKAN_WA
          WHERE EBELN = EKKO_WA-EBELN.
      ENDSELECT.
    ENDSELECT.
    The above code can be much more optimized by the code written below.
    SELECT PF1 PF2 FF3 FF4 INTO TABLE ITAB
        FROM EKKO AS P INNER JOIN EKAN AS F
          ON PEBELN = FEBELN.
    Note: A simple SELECT loop is a single database access whose result is passed to the ABAP program line by line. Nested SELECT loops mean that the number of accesses in the inner loop is multiplied by the number of accesses in the outer loop. One should therefore use nested SELECT loops only if the selection in the outer loop contains very few lines or the outer loop is a SELECT SINGLE statement.
    2.     Select all the records in a single shot using into table clause of select statement rather than to use Append statements.
    SELECT * FROM SBOOK INTO SBOOK_WA.
      CHECK: SBOOK_WA-CARRID = 'LH' AND
             SBOOK_WA-CONNID = '0400'.
    ENDSELECT.
    The above code can be much more optimized by the code written below which avoids CHECK, selects with selection list and puts the data in one shot using into table
    SELECT  CARRID CONNID FLDATE BOOKID FROM SBOOK INTO TABLE T_SBOOK
      WHERE SBOOK_WA-CARRID = 'LH' AND
                  SBOOK_WA-CONNID = '0400'.
    3.     When a base table has multiple indices, the where clause should be in the order of the index, either a primary or a secondary index.
    To choose an index, the optimizer checks the field names specified in the where clause and then uses an index that has the same order of the fields. In certain scenarios, it is advisable to check whether a new index can speed up the performance of a program. This will come handy in programs that access data from the finance tables.
    4.     For testing existence, use Select.. Up to 1 rows statement instead of a Select-Endselect-loop with an Exit. 
    SELECT * FROM SBOOK INTO SBOOK_WA
      UP TO 1 ROWS
      WHERE CARRID = 'LH'.
    ENDSELECT.
    The above code is more optimized as compared to the code mentioned below for testing existence of a record.
    SELECT * FROM SBOOK INTO SBOOK_WA
        WHERE CARRID = 'LH'.
      EXIT.
    ENDSELECT.
    5.     Use Select Single if all primary key fields are supplied in the Where condition .
    If all primary key fields are supplied in the Where conditions you can even use Select Single.
    Select Single requires one communication with the database system, whereas Select-Endselect needs two.
    Select Statements SQL Interface
    1.     Use column updates instead of single-row updates
    to update your database tables.
    SELECT * FROM SFLIGHT INTO SFLIGHT_WA.
      SFLIGHT_WA-SEATSOCC =
        SFLIGHT_WA-SEATSOCC - 1.
      UPDATE SFLIGHT FROM SFLIGHT_WA.
    ENDSELECT.
    The above mentioned code can be more optimized by using the following code
    UPDATE SFLIGHT
           SET SEATSOCC = SEATSOCC - 1.
    2.     For all frequently used Select statements, try to use an index.
    SELECT * FROM SBOOK CLIENT SPECIFIED INTO SBOOK_WA
      WHERE CARRID = 'LH'
        AND CONNID = '0400'.
    ENDSELECT.
    The above mentioned code can be more optimized by using the following code
    SELECT * FROM SBOOK CLIENT SPECIFIED INTO SBOOK_WA
      WHERE MANDT IN ( SELECT MANDT FROM T000 )
        AND CARRID = 'LH'
        AND CONNID = '0400'.
    ENDSELECT.
    3.     Using buffered tables improves the performance considerably.
    Bypassing the buffer increases the network considerably
    SELECT SINGLE * FROM T100 INTO T100_WA
      BYPASSING BUFFER
      WHERE     SPRSL = 'D'
            AND ARBGB = '00'
            AND MSGNR = '999'.
    The above mentioned code can be more optimized by using the following code
    SELECT SINGLE * FROM T100  INTO T100_WA
      WHERE     SPRSL = 'D'
            AND ARBGB = '00'
            AND MSGNR = '999'.
    Select Statements  Aggregate Functions
    •     If you want to find the maximum, minimum, sum and average value or the count of a database column, use a select list with aggregate functions instead of computing the aggregates yourself.
    Some of the Aggregate functions allowed in SAP are  MAX, MIN, AVG, SUM, COUNT, COUNT( * )
    Consider the following extract.
                Maxno = 0.
                Select * from zflight where airln = ‘LF’ and cntry = ‘IN’.
                 Check zflight-fligh > maxno.
                 Maxno = zflight-fligh.
                Endselect.
    The  above mentioned code can be much more optimized by using the following code.
    Select max( fligh ) from zflight into maxno where airln = ‘LF’ and cntry = ‘IN’.
    Select Statements  For All Entries
    •     The for all entries creates a where clause, where all the entries in the driver table are combined with OR. If the number of entries in the driver table is larger than rsdb/max_blocking_factor, several similar SQL statements are executed to limit the length of the WHERE clause.
         The plus
    •     Large amount of data
    •     Mixing processing and reading of data
    •     Fast internal reprocessing of data
    •     Fast
         The Minus
    •     Difficult to program/understand
    •     Memory could be critical (use FREE or PACKAGE size)
    Points to be must considered FOR ALL ENTRIES
    •     Check that data is present in the driver table
    •     Sorting the driver table
    •     Removing duplicates from the driver table
    Consider the following piece of extract
              Loop at int_cntry.
      Select single * from zfligh into int_fligh
      where cntry = int_cntry-cntry.
      Append int_fligh.
                          Endloop.
    The above mentioned can be more optimized by using the following code.
    Sort int_cntry by cntry.
    Delete adjacent duplicates from int_cntry.
    If NOT int_cntry[] is INITIAL.
                Select * from zfligh appending table int_fligh
                For all entries in int_cntry
                Where cntry = int_cntry-cntry.
    Endif.
    Select Statements Select Over more than one Internal table
    1.     Its better to use a views instead of nested Select statements.
    SELECT * FROM DD01L INTO DD01L_WA
      WHERE DOMNAME LIKE 'CHAR%'
            AND AS4LOCAL = 'A'.
      SELECT SINGLE * FROM DD01T INTO DD01T_WA
        WHERE   DOMNAME    = DD01L_WA-DOMNAME
            AND AS4LOCAL   = 'A'
            AND AS4VERS    = DD01L_WA-AS4VERS
            AND DDLANGUAGE = SY-LANGU.
    ENDSELECT.
    The above code can be more optimized by extracting all the data from view DD01V_WA
    SELECT * FROM DD01V INTO  DD01V_WA
      WHERE DOMNAME LIKE 'CHAR%'
            AND DDLANGUAGE = SY-LANGU.
    ENDSELECT
    2.     To read data from several logically connected tables use a join instead of nested Select statements. Joins are preferred only if all the primary key are available in WHERE clause for the tables that are joined. If the primary keys are not provided in join the Joining of tables itself takes time.
    SELECT * FROM EKKO INTO EKKO_WA.
      SELECT * FROM EKAN INTO EKAN_WA
          WHERE EBELN = EKKO_WA-EBELN.
      ENDSELECT.
    ENDSELECT.
    The above code can be much more optimized by the code written below.
    SELECT PF1 PF2 FF3 FF4 INTO TABLE ITAB
        FROM EKKO AS P INNER JOIN EKAN AS F
          ON PEBELN = FEBELN.
    3.     Instead of using nested Select loops it is often better to use subqueries.
    SELECT * FROM SPFLI
      INTO TABLE T_SPFLI
      WHERE CITYFROM = 'FRANKFURT'
        AND CITYTO = 'NEW YORK'.
    SELECT * FROM SFLIGHT AS F
        INTO SFLIGHT_WA
        FOR ALL ENTRIES IN T_SPFLI
        WHERE SEATSOCC < F~SEATSMAX
          AND CARRID = T_SPFLI-CARRID
          AND CONNID = T_SPFLI-CONNID
          AND FLDATE BETWEEN '19990101' AND '19990331'.
    ENDSELECT.
    The above mentioned code can be even more optimized by using subqueries instead of for all entries.
    SELECT * FROM SFLIGHT AS F INTO SFLIGHT_WA
        WHERE SEATSOCC < F~SEATSMAX
          AND EXISTS ( SELECT * FROM SPFLI
                         WHERE CARRID = F~CARRID
                           AND CONNID = F~CONNID
                           AND CITYFROM = 'FRANKFURT'
                           AND CITYTO = 'NEW YORK' )
          AND FLDATE BETWEEN '19990101' AND '19990331'.
    ENDSELECT.
    1.     Table operations should be done using explicit work areas rather than via header lines.
    READ TABLE ITAB INTO WA WITH KEY K = 'X‘ BINARY SEARCH.
    IS MUCH FASTER THAN USING
    READ TABLE ITAB INTO WA WITH KEY K = 'X'.
    If TAB has n entries, linear search runs in O( n ) time, whereas binary search takes only O( log2( n ) ).
    2.     Always try to use binary search instead of linear search. But don’t forget to sort your internal table before that.
    READ TABLE ITAB INTO WA WITH KEY K = 'X'. IS FASTER THAN USING
    READ TABLE ITAB INTO WA WITH KEY (NAME) = 'X'.
    3.     A dynamic key access is slower than a static one, since the key specification must be evaluated at runtime.
    4.     A binary search using secondary index takes considerably less time.
    5.     LOOP ... WHERE is faster than LOOP/CHECK because LOOP ... WHERE evaluates the specified condition internally.
    LOOP AT ITAB INTO WA WHERE K = 'X'.
    ENDLOOP.
    The above code is much faster than using
    LOOP AT ITAB INTO WA.
      CHECK WA-K = 'X'.
    ENDLOOP.
    6.     Modifying selected components using “ MODIFY itab …TRANSPORTING f1 f2.. “ accelerates the task of updating  a line of an internal table.
    WA-DATE = SY-DATUM.
    MODIFY ITAB FROM WA INDEX 1 TRANSPORTING DATE.
    The above code is more optimized as compared to
    WA-DATE = SY-DATUM.
    MODIFY ITAB FROM WA INDEX 1.
    7.     Accessing the table entries directly in a "LOOP ... ASSIGNING ..." accelerates the task of updating a set of lines of an internal table considerably
    Modifying selected components only makes the program faster as compared to Modifying all lines completely.
    e.g,
    LOOP AT ITAB ASSIGNING <WA>.
      I = SY-TABIX MOD 2.
      IF I = 0.
        <WA>-FLAG = 'X'.
      ENDIF.
    ENDLOOP.
    The above code works faster as compared to
    LOOP AT ITAB INTO WA.
      I = SY-TABIX MOD 2.
      IF I = 0.
        WA-FLAG = 'X'.
        MODIFY ITAB FROM WA.
      ENDIF.
    ENDLOOP.
    8.    If collect semantics is required, it is always better to use to COLLECT rather than READ BINARY and then ADD.
    LOOP AT ITAB1 INTO WA1.
      READ TABLE ITAB2 INTO WA2 WITH KEY K = WA1-K BINARY SEARCH.
      IF SY-SUBRC = 0.
        ADD: WA1-VAL1 TO WA2-VAL1,
             WA1-VAL2 TO WA2-VAL2.
        MODIFY ITAB2 FROM WA2 INDEX SY-TABIX TRANSPORTING VAL1 VAL2.
      ELSE.
        INSERT WA1 INTO ITAB2 INDEX SY-TABIX.
      ENDIF.
    ENDLOOP.
    The above code uses BINARY SEARCH for collect semantics. READ BINARY runs in O( log2(n) ) time. The above piece of code can be more optimized by
    LOOP AT ITAB1 INTO WA.
      COLLECT WA INTO ITAB2.
    ENDLOOP.
    SORT ITAB2 BY K.
    COLLECT, however, uses a hash algorithm and is therefore independent
    of the number of entries (i.e. O(1)) .
    9.    "APPEND LINES OF itab1 TO itab2" accelerates the task of appending a table to another table considerably as compared to “ LOOP-APPEND-ENDLOOP.”
    APPEND LINES OF ITAB1 TO ITAB2.
    This is more optimized as compared to
    LOOP AT ITAB1 INTO WA.
      APPEND WA TO ITAB2.
    ENDLOOP.
    10.   “DELETE ADJACENT DUPLICATES“ accelerates the task of deleting duplicate entries considerably as compared to “ READ-LOOP-DELETE-ENDLOOP”.
    DELETE ADJACENT DUPLICATES FROM ITAB COMPARING K.
    This is much more optimized as compared to
    READ TABLE ITAB INDEX 1 INTO PREV_LINE.
    LOOP AT ITAB FROM 2 INTO WA.
      IF WA = PREV_LINE.
        DELETE ITAB.
      ELSE.
        PREV_LINE = WA.
      ENDIF.
    ENDLOOP.
    11.   "DELETE itab FROM ... TO ..." accelerates the task of deleting a sequence of lines considerably as compared to “  DO -DELETE-ENDDO”.
    DELETE ITAB FROM 450 TO 550.
    This is much more optimized as compared to
    DO 101 TIMES.
      DELETE ITAB INDEX 450.
    ENDDO.
    12.   Copying internal tables by using “ITAB2[ ] = ITAB1[ ]” as compared to “LOOP-APPEND-ENDLOOP”.
    ITAB2[] = ITAB1[].
    This is much more optimized as compared to
    REFRESH ITAB2.
    LOOP AT ITAB1 INTO WA.
      APPEND WA TO ITAB2.
    ENDLOOP.
    13.   Specify the sort key as restrictively as possible to run the program faster.
    “SORT ITAB BY K.” makes the program runs faster as compared to “SORT ITAB.”
    Internal Tables         contd…
    Hashed and Sorted tables
    1.     For single read access hashed tables are more optimized as compared to sorted tables.
    2.      For partial sequential access sorted tables are more optimized as compared to hashed tables
    Hashed And Sorted Tables
    Point # 1
    Consider the following example where HTAB is a hashed table and STAB is a sorted table
    DO 250 TIMES.
      N = 4 * SY-INDEX.
      READ TABLE HTAB INTO WA WITH TABLE KEY K = N.
      IF SY-SUBRC = 0.
      ENDIF.
    ENDDO.
    This runs faster for single read access as compared to the following same code for sorted table
    DO 250 TIMES.
      N = 4 * SY-INDEX.
      READ TABLE STAB INTO WA WITH TABLE KEY K = N.
      IF SY-SUBRC = 0.
      ENDIF.
    ENDDO.
    Point # 2
    Similarly for Partial Sequential access the STAB runs faster as compared to HTAB
    LOOP AT STAB INTO WA WHERE K = SUBKEY.
    ENDLOOP.
    This runs faster as compared to
    LOOP AT HTAB INTO WA WHERE K = SUBKEY.
    ENDLOOP.

  • Please give the meaning of this code

    Hi anyone please give the meaning of the below mentioned modify command code
      READ TABLE XKOMV INTO L_XKOMV
                  WITH KEY
                  KSCHL = 'ZGBC'.
      IF sy-subrc = 0.
        XKOMV-KINAK = 'X'.
        <b>MODIFY XKOMV TRANSPORTING KINAK WHERE KSCHL = 'ZFIK'.</b>
      ENDIF.
    Point will be sure.
    vijai

    Hello Vijaya,
    Its reading the Conditiuon table and checking for the condition type ZGBC in the document condition table. If it exists then its makeing the Condition ZFIK as in active. So   During pricing, the system ignores conditions that are valid but not active in this case ZFIK.
    Regards,
    <b>Reward Points if Useful</b>
    Sake Sharma

  • Can you please cancel my  subscription?  This program is not working for me. Thank you.

    I am not happy with this program. Please cancel my  subscription.

    Hi shann1473,
    I'm sorry that your subscription didn't meet your needs. I just looked at your account, and I'm not able to cancel it myself. Please contact Adobe Customer Support; they'll be able to take care of that quickly for you. Here is the contact information:
    Contact Customer Care.
    I apologize for the inconvenience.
    Best,
    Sara

  • Please wat is wrong with this program

    I want to reverse the user input but when I run this program it only asks for the input and when i key it in and press enter nothing happens.It just freezes.
    Sorry the code is a bit long .
    import java.io.*;
    class StackX
    private int maxSize;
    private char[] stackArray;
    private int top;
    public StackX(int max)  
           maxSize=max;
           stackArray=new char[maxSize];
           top=-1;
    public void push(char j) 
         stackArray[++top]=j;
    public char pop()    
         return stackArray[top--];
    public char peek()  
         return stackArray[top];
    public boolean isEmpty()   
         return (top==-1);
    class Reverser
         private String input;  
         private String output; 
    public Reverser(String in)
         {input = in;}
             public String doRev( )    
         int stackSize=input.length( ); 
         StackX theStack = new StackX(stackSize);
         for(int j=0;j<input.length( );j++)
         char ch=input.charAt(j); 
         theStack.push(ch);
         output ="";
         while( !theStack.isEmpty() )
         char ch=theStack.pop();
         output=output+ch; 
         return output;
    class ReverseApp
         public static void main(String[]args)throws IOException
         String input, output;
         while(true)
         System.out.print("Enter a string:");
         System.out.flush();
         input=getString();
         if( input.equals(""))
          break;
         Reverser theReverser = new Reverser(input);
         output = theReverser.doRev();
         System.out.println("Reversed: " + output);
    public static String getString()throws IOException
         InputStreamReader isr = new InputStreamReader(System.in);
         BufferedReader br= new BufferedReader(isr);
         String s = br.readLine();
         return s;
    }

    One potential problem is that you're using a new reader around system.in every time. I don't know what happens when you do that. Just make it a member variable, or create it once in main and pass it to getString.
    Asid from that, put a bunch of print statements in or use a debugger to see what's happening at each step of the way. You might be getting into an infinite loop somewhere in your reverse operation.

  • Please give me flowchart for this code...

    Writing a Java applet to communicate with a serial device attached to the Device
    Server is very straightforward. However, familiarity with Java programming and a
    Java compiler are required.
    As with any network application, open a communication channel to the remote
    device. In our example, a socket is opened and and two data streams are created to
    perform the actual sending and receiving of data.
    The following example uses a new Java Class called tcpip. Copy the following code
    into a file called tcpip.java.
    import java.*;
    import java.lang.*;
    import java.net.*;
    import java.util.*;
    import java.io.*;
    * This class opens a TCP connection, and allows reading and writing of byte
    arrays.
    public class tcpip
    protected Socket s = null;
    public DataInputStream dis = null;
    protected DataOutputStream dos = null;
    public tcpip(InetAddress ipa, int port)
    Socket s1 = null;
    try { // Open the socket
    s1 = new Socket(ipa.getHostAddress(), port);
    catch (IOException e) {
    System.out.println("Error opening socket");
    return;
    s = s1;
    try { // Create an input stream
    dis = new DataInputStream(new
    BufferedInputStream(s.getInputStream()));
    catch(Exception ex) {
    System.out.println("Error creating input stream");
    try { // Create an output stream
    dos = new DataOutputStream(new
    BufferedOutputStream(s.getOutputStream()));
    catch(Exception ex) {
    System.out.println("Error creating output stream");
    public synchronized void disconnect()
    if (s != null) {
    try {
    s.close();
    catch (IOException e){}
    public synchronized void send(byte[] temp)
    try {
    dos.write(temp, 0, temp.length);
    dos.flush();
    catch(Exception ex) {
    System.out.println("Error sending data : " + ex.toString());
    public synchronized void send(byte[] temp, int len)
    try {
    dos.write(temp, 0, len);
    dos.flush();
    catch(Exception ex) {
    System.out.println("Error sending data : " + ex.toString());
    public synchronized void send(String given)
    // WARNING: this routine may not properly convert Strings to bytes
    int length = given.length();
    byte[] retvalue = new byte[length];
    char[] c = new char[length];
    given.getChars(0, length, c, 0);
    for (int i = 0; i < length; i++) {
    retvalue[i] = (byte)c;
    send(retvalue);
    public synchronized byte[] receive()
    byte[] retval = new byte[0];
    try {
    while(dis.available() == 0); /* Wait for data */
    catch (IOException e){}
    try {
    retval = new byte[dis.available()];
    catch (IOException e){}
    try {
    dis.read(retval);
    catch (IOException e){}
    return(retval);
    public int available()
    int avail;
    avail = 0;
    try {
    avail = dis.available();
    catch (IOException e) {}
    return(avail);
    Next, create the Text_io class as the application. Copy the following code
    into a file called �Text_io.java�.
    import java.awt.*;
    import java.awt.event.*;
    import java.lang.*;
    public class Text_io extends Panel implements Runnable,
    TextListener {
    private tcpip gtp;
    String oldmessage = new String("");
    TextArea input_box = new TextArea("", 10, 60, 3);
    TextArea output_box = new TextArea("", 10, 60, 3);
    Thread timer;
    public Text_io(tcpip tp) {
    gtp = tp;
    setLayout(new GridBagLayout());
    GridBagConstraints c = new GridBagConstraints();
    c.insets = new Insets(5,5,5,5);
    setBackground(java.awt.Color.lightGray);
    setSize(561,380);
    c.gridx = 0; c.gridy = 2; c.gridwidth = 1; c.gridheight =
    1;
    c.weightx = 0.0; c.weighty = 0.0; c.anchor =
    GridBagConstraints.WEST;
    c.fill = GridBagConstraints.NONE;
    add((new Label("To Device Server: (Type Here--->)")), c);
    //input_box
    input_box.addTextListener(this);
    c.gridx = 1; c.gridy = 2; c.gridwidth = 3; c.gridheight =
    1;
    c.weightx = 0.5; c.weighty = 0.0; c.anchor =
    GridBagConstraints.CENTER;
    c.fill = GridBagConstraints.BOTH;
    add(input_box,c);
    c.gridx = 0; c.gridy = 4; c.gridwidth = 1; c.gridheight =
    1;
    c.weightx = 0.0; c.weighty = 0.0; c.anchor =
    GridBagConstraints.WEST;
    c.fill = GridBagConstraints.NONE;
    add((new Label("From Device Server:")), c);
    c.gridx = 1; c.gridy = 4; c.gridwidth = 3; c.gridheight =
    1;
    c.weightx = 0.5; c.weighty = 0.0; c.anchor =
    GridBagConstraints.CENTER;
    c.fill = GridBagConstraints.BOTH;
    add(output_box,c);
    output_box.setEditable(false);
    timer = new Thread(this);
    timer.start();
    public void run() {
    int i;
    byte[] in;
    Thread me = Thread.currentThread();
    while (timer == me) {
    try {
    Thread.currentThread().sleep(200);
    catch (InterruptedException e) { }
    if ( (gtp != null) && ((i = gtp.available()) > 0) ) {
    in = gtp.receive();
    /* remove non-printing bytes */
    for (i = 0; i < in.length; i++) {
    if (in[i] < 0x20)
    in[i] = 0x20;
    output_box.append((new String(in)));
    public void textValueChanged(TextEvent e) {
    int len, i;
    String str = new String("");
    String message = input_box.getText();
    len = message.length() - oldmessage.length();
    if (len < 0) {
    for (i = 0; i < -len; i++)
    str += "\b";
    //System.out.println("Backspace");
    else if (len > 0) {
    str = message.substring(oldmessage.length());
    //System.out.println("len = "+str.length()+" str =
    "+str);
    oldmessage = message;
    if ( (len != 0) && (gtp != null) )
    gtp.send(str);
    Next, create the actual applet that uses the tcpip and Text_io classes. Copy
    the following code into a file called �Test.java�.
    import java.awt.*;
    import java.awt.event.*;
    import java.applet.Applet;
    import java.net.*;
    import java.io.*;
    import java.lang.*;
    import java.text.*;
    import java.util.*;
    public class Test extends Applet {
    static private boolean isapplet = true;
    static private InetAddress arg_ip = null;
    static private int arg_port = 0;
    public tcpip gtp = null;;
    InetAddress reader_ip = null;
    int port = 10001;
    public void init()
    gtp = null;
    reader_ip = null;
    port = 10001;
    public void start()
    String st = new String("TCP/IP connection status: ");
    setFont(new Font("Dialog",Font.BOLD,16));
    setLayout(new GridBagLayout());
    GridBagConstraints c = new GridBagConstraints();
    c.gridx = 0; c.gridy = 0; c.gridwidth = 1; c.gridheight
    = 1;
    c.anchor = GridBagConstraints.CENTER;
    c.fill = GridBagConstraints.BOTH;
    c.insets = new Insets(5,5,5,5);
    setBackground(Color.yellow);
    setSize(600,500);
    /* Either get the IP address from the HTTP server if
    we're an applet, or from the commandline (if passed).
    if (isapplet) {
    try{
    reader_ip = InetAddress.getByName(getCodeBase().getHost());
    catch (UnknownHostException e){}
    else {
    reader_ip = arg_ip;
    if (arg_port != 0) {
    port = arg_port;
    /* Open a socket to the Device Server's serial port
    if (reader_ip != null) {
    if (gtp == null) {
    gtp = new tcpip(reader_ip, port);
    if (gtp.s == null) {
    st += "Connection FAILED! ";
    gtp = null;
    if (gtp == null) {
    st += "Not Connected";
    add((new Label(st)), c);
    return;
    st += "Connected";
    add((new Label(st)), c);
    /* You may now perform IO with the Device Server via
    * gtp.send(byte[] data_out);
    * byte[] data_in = gtp.receive();
    * functions.
    * In our example we'll use two TextBoxes which have
    * been extended to handle IO to the Device Server.
    *Data typed in the upper text box will be sent to
    * the Device Server, and data received will be
    *displayed in the lower text box.
    /* Start of custom application code */
    /* ADD YOUR CODE HERE */
    c.gridx = 0; c.gridy = 2; c.gridwidth = 3; c.gridheight =
    1;
    c.anchor = GridBagConstraints.WEST;
    add((new Text_io(gtp)), c);
    /* End of custom application code */
    public void destroy()
    if (gtp != null)
    gtp.disconnect();
    gtp = null;
    public void stop() {
    public static void main(String[] args) {
    Frame frame = new Frame("TCP/IP Test");
    frame.addWindowListener(new WindowAdapter() {
    public void windowClosing(WindowEvent e) {
    System.exit(0);
    if (args.length > 0) {
    try{
    arg_ip = InetAddress.getByName(args[0]);
    catch (UnknownHostException e){}
    if (args.length > 1) {
    try {
    arg_port = Integer.valueOf(args[1]).intValue();
    catch (NumberFormatException e) {}
    Test ap = new Test();
    frame.add(ap);
    ap.init();
    isapplet = false;
    ap.start();
    frame.pack();
    frame.show();

    Let's see a decent try by you towards a solution first. I've found that usually the more thought and effort posters put into creating and solving their questions, the better their chances are of a volunteer here taking the time and effort to consider it and give a helpful answer. In other words, show that you are putting effort into doing your own homework first.
    Also, when posting your code, please use code tags so that your code will retain its formatting and be readable. To do this, you will need to paste already formatted code into the forum, highlight this code, and then press the "code" button at the top of the forum Message editor prior to posting the message. You may want to click on the Preview tab to make sure that your code is formatted correctly. Another way is to place the tag &#91;code] at the top of your block of code and the tag &#91;/code] at the bottom, like so:
    &#91;code]
      // your code block goes here.
      // note the differences between the tag at the top vs the bottom.
    &#91;/code]or
    {&#99;ode}
      // your code block goes here.
      // note here that the tags are the same.
    {&#99;ode}good luck

  • CAn Someone Please Help me? Turn this program in a algorithm

    DECLARE SUB RentCar ()
    DECLARE SUB PayBill ()
    DECLARE SUB Main ()
    DECLARE SUB ReadCarData ()
    DECLARE SUB FindCar ()
    TYPE Car ' User made Type To hold Car Data
    CarNumber AS INTEGER
    License AS STRING * 8
    Year AS INTEGER
    CarMaker AS STRING * 16
    CarName AS STRING * 16
    Description AS STRING * 20
    ColorOfCar AS STRING * 10
    NumberOfDoors AS INTEGER
    Price AS DOUBLE
    Rented AS INTEGER
    Customer AS INTEGER
    END TYPE
    TYPE Customer ' User made Type to hold Customer data
    CustomerNumber AS INTEGER
    CustName AS STRING * 50
    Bill AS DOUBLE
    END TYPE
    DIM SHARED Cars(1 TO 26) AS Car ' Global Variables
    DIM SHARED p(4) AS Customer
    DIM CustName AS STRING * 50
    p(0).CustName = "Kevin" ' Assign Customers who need to pay bills
    p(0).Bill = 0
    p(1).CustName = "Eljah"
    p(1).Bill = 100
    p(2).CustName = "Jared"
    p(2).Bill = 55
    p(3).CustName = "Claudwin"
    p(3).Bill = 60
    p(4).CustName = "Isaac"
    p(4).Bill = 1500
    CALL ReadCarData ' This reads the data statements into the Cars() array.
    WIDTH 80, 50 ' Formats screen and call the main part of the program
    CALL Main
    ' CAR DATA STATEMENTS
    ' LICENSE YEAR MAKER MODEL DESCRIPTION COLOR DOORS PRICE
    DATA "X-5687", 2007, "DODGE", "CALIBER", "FAMILY CAR", "DARK RED", 4, 89.99
    DATA "X-9681", 2006, "DODGE", "CHARGER", "SPORT", "GREY", 4, 47.99
    DATA "X-9684", 2006, "DODGE", "RAM 2500", "PICKUP", "BLACK", 4, 101.99
    DATA "X-9437", 2004, "FORD", "MUSTANG", "SPORT", "RED", 2, 45.99
    DATA "X-2562", 2002, "FORD", "TAURUS", "SEDAN", "LIGHT GREY", 4, 67.99
    DATA "X-3856", 2003, "FORD", "CONTOUR", "SMALL", "LIGHT BLUE", 2, 45.99
    DATA "X-2724", 2001, "FORD", "BRONCO", "JEEP", "BLACK", 4, 63.99
    DATA "X-2724", 2001, "FORD", "BRONCO", "JEEP", "DARK GREEN", 4, 63.99
    DATA "X-8568", 1998, "FORD", "ESCORT", "COMPACT", "BROWN", 2, 35.99
    DATA "X-4724", 2004, "FORD", "PROBE", "SPORT", "BLACK", 2, 58.99
    DATA "X-4724", 2004, "FORD", "PROBE", "SPORT", "RED", 2, 58.99
    DATA "X-4724", 2004, "FORD", "PROBE", "SPORT", "YELLOW", 2, 58.99
    DATA "X-4724", 2003, "FORD", "AEROSTAR", "S.U.V.", "DARK GREEN", 4, 87.99
    DATA "X-2727", 1999, "PONTIAC", "GRAND AM", "SPORT CAR", "BLACK", 2, 45.99
    DATA "X-2327", 1999, "PONTIAC", "GRAND AM", "SPORT CAR", "RED", 2, 45.99
    DATA "X-2767", 1999, "PONTIAC", "GRAND AM", "SPORT CAR", "GREY", 2, 45.99
    DATA "X-2723", 1999, "PONTIAC", "GRAND AM", "SPORT CAR", "PURPLE", 2, 45.99
    DATA "X-8486", 2005, "PONTIAC", "TRANSPORT", "S.U.V.", "WHITE", 2, 96.99
    DATA "X-3261", 2005, "PONTIAC", "AZTEC", "S.U.V.", "YELLOW", 4, 93.99
    DATA "X-1864", 2006, "PONTIAC", "TORRENT", "S.U.V.", "RED", 4, 98.99
    DATA "X-8521", 2006, "MERCURY", "COUGAR", "SPORT", "BLACK", 2, 69.99
    DATA "X-8471", 2006, "LINCOLN", "TOWN CAR", "LUXURY", "BLACK", 4, 149.99
    DATA "X-8635", 2001, "LINCOLN", "CONTINENTAL", "LUXURY", "GOLD", 4, 139.99
    DATA "X-2643", 2006, "CHEVROLET", "F-150", "PICKUP", "GREY", 2, 95.99
    DATA "X-7143", 2006, "CHEVROLET", "CORVETTE", "SPORT", "YELLOW", 2, 131.99
    DATA "X-7378", 2006, "CHEVROLET", "MALIBU", "SEDAN", "BLACK", 4, 81.99
    SUB FindCar ' This sub goes through the data to search for a car
    DIM Counter AS INTEGER 'variables need for sub
    DIM TempMaker AS STRING
    DIM TempModel AS STRING
    DIM TempColor AS STRING
    DIM TempCarType AS STRING
    DIM TempRangeFrom AS DOUBLE
    DIM TempRangeTo AS DOUBLE
    DIM TempMax AS DOUBLE
    DIM TempMin AS DOUBLE
    DIM LeaveFindCar AS INTEGER
    DIM MoreCar AS STRING
    DIM CanDisplay AS INTEGER
    DO WHILE LeaveFindCar = 0 ' Main loop to find type of car
         ' Initialize the variables
    Counter = 0
    TempMaker = ""
    TempModel = ""
    TempColor = ""
    TempRangeFrom = 0
    TempRangeTo = 0
    CLS ' Draw the screen with the search fields"
    COLOR 15
    PRINT "FIND IDEAL CAR: (Enter one or more of these items)"
         PRINT STRING$(80, CHR$(196))
         COLOR 11
         PRINT "Car Builder:"
         PRINT "Car Model:"
         PRINT "Car Color:"
         PRINT "Price Range: From: To:"
         COLOR 10 ' GetsUser can enter any search fields he wants
         LOCATE 3, 19
         INPUT TempMaker
         LOCATE 4, 19
         INPUT TempModel
         LOCATE 5, 19
         INPUT TempColor
         LOCATE 6, 19
         INPUT TempRangeFrom
         LOCATE 6, 36
         INPUT TempRangeTo
         COLOR 15
         PRINT STRING$(80, CHR$(196))
         CanDisplay = 0
         FOR Counter = 1 TO 26 '' This loop does the actual search of the matching cars
         'We compare all string type variables as an
         'uppercase (UCASE$) and Right Trimmed (RTRIM$)
         'to avoid having to compare upper and lower case
         'Values, this makes the condtions here twice
         'as short to perform.
         IF RTRIM$(TempMaker) <> "" THEN
         IF UCASE$(RTRIM$(Cars(Counter).CarMaker)) = UCASE$(RTRIM$(TempMaker)) THEN
         IF RTRIM$(TempModel) <> "" THEN
         IF UCASE$(RTRIM$(Cars(Counter).CarName)) = UCASE$(RTRIM$(TempModel)) THEN
         IF RTRIM$(TempColor) <> "" THEN
         IF UCASE$(RTRIM$(Cars(Counter).ColorOfCar)) = UCASE$(RTRIM$(TempColor)) THEN
    IF TempRangeFrom > 0 AND TempRangeTo > 0 THEN
    IF TempRangeFrom > TempRangeTo THEN
    TempMin = TempRangeTo
    TempMax = TempRangeFrom
    ELSE
    TempMin = TempRangeFrom
    TempMax = TempRangeTo
    END IF
    ' If Price of car is in between Mininum and Maximum Price
    'Allows to display the record.
    IF Cars(Counter).Price >= TempMin AND Cars(Counter).Price <= TempMax THEN
    CanDisplay = 1
    ELSE
    CanDisplay = 0
    END IF
    END IF
    ELSE
    CanDisplay = 0
    END IF
    ELSE
    ' The IF is to set Min to the smallest of
    ' the range vales and TempMax to the biggest.
    IF TempRangeFrom > 0 AND TempRangeTo > 0 THEN
    IF TempRangeFrom > TempRangeTo THEN
    TempMin = TempRangeTo
    TempMax = TempRangeFrom
    ELSE
    TempMin = TempRangeFrom
    TempMax = TempRangeTo
    END IF
    IF Cars(Counter).Price >= TempMin AND Cars(Counter).Price <= TempMax THEN
    CanDisplay = 1
    ELSE
    CanDisplay = 0
    END IF
    END IF
    END IF
    ELSE
    CanDisplay = 0
    END IF
    ELSE
    IF RTRIM$(TempColor) <> "" THEN
    IF UCASE$(RTRIM$(Cars(Counter).ColorOfCar)) = UCASE$(RTRIM$(TempColor)) THEN
    ' This IF is to set Min to the smallest of
    ' the range values and Max to the biggest.
    IF TempRangeFrom > 0 AND TempRangeTo > 0 THEN
    IF TempRangeFrom > TempRangeTo THEN
    TempMin = TempRangeTo
    TempMax = TempRangeFrom
    ELSE
    TempMin = TempRangeFrom
    TempMax = TempRangeTo
    END IF
    IF Cars(Counter).Price >= TempMin AND Cars(Counter).Price <= TempMax THEN
    CanDisplay = 1
    ELSE
    CanDisplay = 0
    END IF
    END IF
    ELSE
    CanDisplay = 0
    END IF
    ELSE
    ' The IF is to set Min to the smallest of
    ' the range vales and Max to the biggest.
    IF TempRangeFrom > 0 AND TempRangeTo > 0 THEN
    IF TempRangeFrom > TempRangeTo THEN
    TempMin = TempRangeTo
    TempMax = TempRangeFrom
    ELSE
    TempMin = TempRangeFrom
    TempMax = TempRangeTo
    END IF
    IF Cars(Counter).Price >= TempMin AND Cars(Counter).Price <= TempMax THEN
    CanDisplay = 1
    ELSE
    CanDisplay = 0
    END IF
    ELSEIF TempRangeFrom = 0 AND TempRangeTo > 0 THEN ' The IF one of the range to be 0
    TempMin = TempRangeFrom
    TempMax = TempRangeTo
    IF Cars(Counter).Price >= TempMin AND Cars(Counter).Price <= TempMax THEN
    CanDisplay = 1
    ELSE
    CanDisplay = 0
    END IF
    ELSEIF TempRangeFrom > 0 AND TempRangeTo = 0 THEN ' This IF one of the range to be 0
    TempMin = TempRangeTo
    TempMax = TempRangeFrom
    IF Cars(Counter).Price >= TempMin AND Cars(Counter).Price <= TempMax THEN
    CanDisplay = 1
    ELSE
    CanDisplay = 0
    END IF
    ELSE
    CanDisplay = 1
    END IF
    END IF
    END IF
    END IF
    ELSE
    'Same as previously, all string variables are UCASEd and
    'RTRIMmed to shorten the comparison lenghts.
    IF RTRIM$(TempModel) <> "" THEN
    IF UCASE$(RTRIM$(Cars(Counter).CarName)) = UCASE$(RTRIM$(TempModel)) THEN
    IF RTRIM$(TempColor) <> "" THEN
    IF UCASE$(RTRIM$(Cars(Counter).ColorOfCar)) = UCASE$(RTRIM$(TempColor)) THEN
    IF TempRangeFrom > 0 AND TempRangeTo > 0 THEN
    IF TempRangeFrom > TempRangeTo THEN
    ' This IF is to setMin to the smallest of
    ' the range vales and Max to the biggest
    TempMin = TempRangeTo
    TempMax = TempRangeFrom
    ELSE
    TempMin = TempRangeFrom
    TempMax = TempRangeTo
    END IF
    IF Cars(Counter).Price >= TempMin AND Cars(Counter).Price <= TempMax THEN
    CanDisplay = 1
    ELSE
    CanDisplay = 0
    END IF
    END IF
    ELSE
    CanDisplay = 0
    END IF
    ELSE
    ' This IF is to setMin to the smallest of
    ' the range vales and Max to the biggest
    IF TempRangeFrom > 0 AND TempRangeTo > 0 THEN
    IF TempRangeFrom > TempRangeTo THEN
    TempMin = TempRangeTo
    TempMax = TempRangeFrom
    ELSE
    TempMin = TempRangeFrom
    TempMax = TempRangeTo
    END IF
    IF Cars(Counter).Price >= TempMin AND Cars(Counter).Price <= TempMax THEN
    CanDisplay = 1
    ELSE
    CanDisplay = 0
    END IF
    END IF
    END IF
    ELSE
    CanDisplay = 0
    END IF
    ELSE
    IF RTRIM$(TempColor) <> "" THEN
    IF UCASE$(RTRIM$(Cars(Counter).ColorOfCar)) = UCASE$(RTRIM$(TempColor)) THEN
    ' This IF is to setMin to the smallest of
    ' the range vales and Max to the biggest
    IF TempRangeFrom > 0 AND TempRangeTo > 0 THEN
    IF TempRangeFrom > TempRangeTo THEN
    TempMin = TempRangeTo
    TempMax = TempRangeFrom
    ELSE
    TempMin = TempRangeFrom
    TempMax = TempRangeTo
    END IF
    IF Cars(Counter).Price >= TempMin AND Cars(Counter).Price <= TempMax THEN
    CanDisplay = 1
    ELSE
    CanDisplay = 0
    END IF
    ELSE
    CanDisplay = 1
    END IF
    ELSE
    CanDisplay = 0
    END IF
    ELSE
    ' This IF is to setMin to the smallest of
    ' the range vales and Max to the biggest
    IF TempRangeFrom > 0 AND TempRangeTo > 0 THEN
    IF TempRangeFrom > TempRangeTo THEN
    TempMin = TempRangeTo
    TempMax = TempRangeFrom
    ELSE
    TempMin = TempRangeFrom
    TempMax = TempRangeTo
    END IF
    IF Cars(Counter).Price >= TempMin AND Cars(Counter).Price <= TempMax THEN
    CanDisplay = 1
    ELSE
    CanDisplay = 0
    END IF
    ELSEIF TempRangeFrom = 0 AND TempRangeTo > 0 THEN
    TempMin = TempRangeFrom
    TempMax = TempRangeTo
    IF Cars(Counter).Price >= TempMin AND Cars(Counter).Price <= TempMax THEN
    CanDisplay = 1
    ELSE
    CanDisplay = 0
    END IF
    ELSEIF TempRangeFrom > 0 AND TempRangeTo = 0 THEN
    TempMin = TempRangeTo
    TempMax = TempRangeFrom
    IF Cars(Counter).Price >= TempMin AND Cars(Counter).Price <= TempMax THEN
    CanDisplay = 1
    ELSE
    CanDisplay = 0
    END IF
    ELSE
    CanDisplay = 1
    END IF
    END IF
    END IF
    END IF
    IF CanDisplay = 1 THEN ' If car match fields entered it is displayed
              COLOR 11
    PRINT Cars(Counter).CarNumber;
    PRINT " " + RTRIM$(Cars(Counter).License);
    PRINT " - " + RTRIM$(Cars(Counter).CarMaker);
    PRINT " " + RTRIM$(Cars(Counter).CarName);
    PRINT " " + RTRIM$(Cars(Counter).Description);
    PRINT " " + RTRIM$(Cars(Counter).ColorOfCar);
    PRINT TAB(60); USING " $###.##"; Cars(Counter).Price
    CanDisplay = 0
    END IF
    NEXT Counter ' displays line after listing cars
    COLOR 15
    PRINT STRING$(80, CHR$(196))
    DO WHILE UCASE$(MoreCar) <> "Y" AND UCASE$(MoreCar) <> "N"
    LOCATE CSRLIN, 1 ' This loop ask useers if they want another car search
    PRINT "Find Another Car (Y/N)"
    INPUT MoreCar
    LOOP
    IF UCASE$(MoreCar) = "N" THEN ' If user entered "n" the loop is exited
    LeaveFindCar = 1
    END IF
    MoreCar = ""
    LOOP
    END SUB
    SUB Main
    ' This SUB is the main part of the program. It displays
    ' the menu and accepts the choices from the user, when the
    ' user picks a valid value, it executes the proper choice
    DO
    CLS
    COLOR 15
    'print the menu on the screen      
    LOCATE 1, 33
    PRINT "RENT CARS PLUS"
    LOCATE 2, 1
    PRINT STRING$(80, CHR$(196))
    COLOR 11
    PRINT " 1 - Pay Bill"
    PRINT " 2 - Rent Car"
    PRINT " 3 - Find Ideal Car"
    PRINT " 999 - Exit"
    COLOR 15
    PRINT STRING$(80, CHR$(196))
    INPUT "Choice: ", Choice ' The user enters his/her choice
    IF Choice = 999 THEN END
    IF Choice <> 999 AND Choice <> 1 AND Choice <> 2 AND Choice <> 3 THEN
    PRINT " Error Please Enter Correct Choice! " ' If not valid answer user is asked to enter correct choice
    END IF
    SELECT CASE Choice ' This Select Case executes the subprograms options
    CASE 1
    CALL PayBill
    CASE 2
    CALL RentCar
    CASE 3
    CALL FindCar
    CASE 5
    END SELECT
    LOOP UNTIL Choice = 999
    END SUB
    SUB PayBill' This sub does the bill paying process.
    ' it asks a few question to the user to get the right
    ' information and be able to pay the given bill.
    DIM CustName AS STRING
    DIM MoreBill AS INTEGER
    DIM Answer AS STRING
    DIM Flag AS INTEGER
    COLOR 15
    MoreBill = 0 ' To start loop variable
    DO WHILE MoreBill = 0 ' Loop to start the Bill Paying Process
    StartBill:
         ' Displays screen to user
    CLS
    COLOR 15
    PRINT "PAY A BILL"
    PRINT STRING$(80, CHR$(196))
    INPUT "Customer Name: ", CustName ' user enters customer name
    Flag = 0
    FOR Q = 0 TO 4 ' Loops to search for customer name in array
    IF UCASE$(RTRIM$(p(Q).CustName)) = UCASE$(RTRIM$(CustName)) THEN
    Flag = 1
    PRINT p(Q).CustName; p(Q).Bill
    EXIT FOR
    END IF
    NEXT Q
    '' If customer name invalid error message displayed
    IF Flag = 0 THEN
    PRINT "Invalid name. Press a key to try again."
    DO WHILE INKEY$ <> "": LOOP
    GOTO StartBill
    END IF
    MethodInput:
    DO
    LOCATE 4, 1     ' Display Payment methods and wait for user to pick one
    COLOR 11
    PRINT "We only use Visa or American Express. How do you wish to pay?"
    PRINT "1 - Visa"
    PRINT "2 - American Express"
    PRINT "3 - Check"
    PRINT "4 - Cash"
    INPUT "Select 1, 2, 3, or 4: ", howtopay$ ' User enters way to pay
    IF howtopay$ = "1" OR howtopay$ = "2" THEN ' CArd number asked for If american or visa
    INPUT "Enter account number: ", cardnum$
    ELSEIF howtopay$ <> "3" AND howtopay$ <> "4" THEN
    PRINT "You must select method of payment."
    END IF
    LOOP WHILE howtopay$ < "1" OR howtopay$ > "4"
    PaymentInput:
    '' users enters payment amount
    INPUT "Payment Amount (0 to cancel the transaction): ", PayAmount
    IF PayAmount <> 0 THEN
    IF PayAmount > p(Q).Bill THEN
    '' If payment bigger than amount owed message displayed
    PRINT "Payment is bigger than amount due. Press key to enter payment."
    DO WHILE INKEY$ = "": LOOP
    GOTO PaymentInput
    ELSE
    ' If amount valid , payment subtracted from amount owed
    p(Q).Bill = p(Q).Bill - PayAmount
    PRINT "New balance is "; USING "$#####.##"; p(Q).Bill
    END IF
    END IF
         '' Loop ask if user wishes to pay another bill
    DO WHILE UCASE$(RTRIM$(Answer)) <> "Y" AND UCASE$(RTRIM$(Answer)) <> "N"
    COLOR 15
    LOCATE 48, 1
    PRINT "Pay Another Bill (Y/N) ";
    INPUT Answer
    LOOP
    IF UCASE$(RTRIM$(Answer)) = "N" THEN ' If answer is "N" then loop exited
    MoreBill = 1
    END IF
    LOOP
    END SUB
    SUB ReadCarData
    ' This sub reads all data from the DATA statements
    ' And puts them in the Cars array
    DIM Counter AS INTEGER
    FOR Counter = 1 TO 26
    Cars(Counter).CarNumber = Counter
    READ Cars(Counter).License
    READ Cars(Counter).Year
    READ Cars(Counter).CarMaker
    READ Cars(Counter).CarName
    READ Cars(Counter).Description
    READ Cars(Counter).ColorOfCar
    READ Cars(Counter).NumberOfDoors
    READ Cars(Counter).Price
    NEXT Counter
    END SUB
    SUB RentCar
    ' This sub does the renting of a car
    ' to a customer. This ask several questions
    ' in order to get the right customer and the right
    ' car to rent then it rents it.
    DIM MoreRent AS INTEGER
    DIM TempCustomer AS INTEGER
    DIM TempBill AS DOUBLE
    DIM Answer AS STRING
    DIM TempPrice AS DOUBLE
    DIM TempInsurance AS DOUBLE
    DIM CustName AS STRING
    DIM Number AS STRING
    DIM CarNumber AS INTEGER
    DIM Days AS INTEGER
    DIM Q AS INTEGER
    MoreRent = 0 ' Loop for rental process
    DO WHILE MoreRent = 0
    InputName:
    CLS ' Display screen to user
    COLOR 15
    PRINT "RENT A CAR"
    PRINT STRING$(80, CHR$(196))
    COLOR 11
    LOCATE 3, 1
    INPUT " Full Name: ", CustName ' user enters his name
    IF RTRIM$(CustName) = "" THEN
    PRINT "You Must Enter Your Name. Press a key to retry." ' User is told he must enter a name
    DO WHILE INKEY$ = "": LOOP
    GOTO InputName
    ELSE
    FOR Q = 0 TO 4
    IF UCASE$(RTRIM$(p(Q).CustName)) = UCASE$(RTRIM$(CustName)) THEN
    Flag = 1
    PRINT p(Q).CustName; p(Q).Bill
    TempCustomer = Q
    EXIT FOR
    END IF
    NEXT Q
    END IF
    InputNumber:
    LOCATE 5, 1
    INPUT " Phone Number: ", Number ' User enters phone number
    IF RTRIM$(Number) = "" THEN
    PRINT "You Must a phone number. Press a key to retry." ' User is warned he must enter a number
    DO WHILE INKEY$ = "": LOOP
    GOTO InputNumber
    END IF
    CarInput:
    LOCATE 7, 2
    COLOR 11
    INPUT "Car Number: ", CarNumber     
    ' This awaits a car number from the user.
    IF CarNumber < 1 AND CarNumber > 26 THEN ' If the car number is out of range, we warn and start again
    PRINT "Car Number must be between 1 and 26. Press a key to retry."
    DO WHILE INKEY$ = "": LOOP
    GOTO CarInput
    ELSE
    ' No need to search, we just display the car information
    COLOR 14
    PRINT RTRIM$(Cars(CarNumber).License) + " - ";
    PRINT Cars(CarNumber).Year;
    PRINT RTRIM$(Cars(CarNumber).CarMaker) + " " + RTRIM$(Cars(CarNumber).CarName) + " ";
    PRINT RTRIM$(Cars(CarNumber).ColorOfCar)
    PRINT "PRICE: "; USING "$####.##"; Cars(CarNumber).Price
    END IF
    DaysInput:
    LOCATE 10, 1
    COLOR 11
    INPUT " Number of Days to rent: ", Days
    ' This awaits for a number of days to rent the car for.
    IF Days < 1 AND Days > 31 THEN
    PRINT "Days are 1 to 31. Press a key to retry."
    ' Can't have less than 1 day or more than a month or we warn.
    DO WHILE INKEY$ = "": LOOP
    GOTO DaysInput
    END IF
    TempPrice = Days * Cars(CarNumber).Price
    ' Calculate the Price of the rental
    InsuranceInput:
    LOCATE 13, 1
    COLOR 11
    DO WHILE UCASE$(RTRIM$(Answer)) <> "Y" AND UCASE$(RTRIM$(Answer)) <> "N"
    COLOR 11
    LOCATE 13, 1
    PRINT "Add Insurance (Y/N)";
    ' the customer has the option to purchase insurance here.
    INPUT Answer
    LOOP
    IF UCASE$(Answer) = "Y" THEN
    COLOR 11
    DO WHILE UCASE$(RTRIM$(Answer)) <> "F" AND UCASE$(RTRIM$(Answer)) <> "D"
    'we loop until the users enters y or n
    COLOR 11
    LOCATE 14, 1
    PRINT "(F)ixed Or (D)aily Amount";
    ' If the user selected yes, we ask for fixed or daily insurance amount.
    INPUT Answer
    LOOP
    ' if Fixed amount was picked we ask for that amount
    IF UCASE$(RTRIM$(Answer)) = "F" THEN
    INPUT "Fixed Insurance: ", TempInsurance
    ELSE
    TempInsurance = 15 * Days ' If Daily was picked we multiply 15 by the number of days rented
    END IF
    END IF
    DO     ' this loop asks for a payment method.
    LOCATE 17, 1
    PRINT "We only use Visa or American Express. How do you wish to pay?"
    PRINT "1 - Visa"
    PRINT "2 - American Express"
    PRINT "3 - Check"
    PRINT "4 - Cash"
    INPUT "Select 1, 2, 3, or 4: ", howtopay$
    IF howtopay$ = "1" OR howtopay$ = "2" THEN
    INPUT "Enter account number: ", cardnum$
    ELSEIF howtopay$ <> "3" AND howtopay$ <> "4" THEN
    PRINT "You must select method of payment."
    END IF
    LOOP WHILE howtopay$ < "1" OR howtopay$ > "4"
    COLOR 14
    PRINT     
    ' This part displays some totals to the user.
    PRINT "Rental Price = "; USING "$##,###.##"; TempPrice
    PRINT "Insurance Amount = "; USING "$##,###.##"; TempInsurance
    PRINT "Total Price = "; USING "$##,###.##"; TempPrice + TempInsurance
    PRINT " ----------"
    TempBill = p(TempCustomer).Bill
    TempBill = TempBill + (TempPrice + TempInsurance)
    p(TempCustomer).Bill = TempBill
    PRINT "New Balance = "; USING "$##,###.##"; TempBill
    PRINT " =========="
    Answer = ""
    ' This loop asks if the user wants to rent another car.
    DO WHILE UCASE$(RTRIM$(Answer)) <> "Y" AND UCASE$(RTRIM$(Answer)) <> "N"
    COLOR 15
    LOCATE 48, 1
    PRINT "Rent Another Car (Y/N) ";
    INPUT Answer
    LOOP
    IF UCASE$(RTRIM$(Answer)) = "N" THEN
    ' If user selected N, we assign value to exit the loop
    MoreRent = 1
    END IF
    LOOP
    END SUB
    Im really good at programming but really suck at algorithms can someone please please write in a algorithm form for me , i need it by friday i would greatly be thankful for u

    Im really good at programming but really suck at algorithms
    >If your are 'really good' at programming, you will be able to solve this problem. Because, it has nothing to do with algorithm.
    >>can someone please please write in a algorithm form for me , i need it by friday i would greatly be thankful for u
    >Wrong person, in the wrong place.

  • Please Give me reply for this problem(How can I get the result)???

    Hello Friends,
    I have one table CXATCMS.Which has 3 columns and has the following data
    start_no end_no activity_date
    05001000001 05001000002 01-OCT-03
    05001000015 05001000016 01-OCT-03
    05001000017 05001000018 12-JUN-05
    05001000019 05001000020 12-JUL-06
    I have to create a report which lists the the specific range.
    If the next record's start_no is the immediate next number for the prevoius record's
    end_no .....then it has to display all those numbers in a range until it finds a number which is not next immediate number for the previous record's end number.
    like for example....if the user wants to see from 1 to 20 range.
    then the result must be like this........
    start_no end_no
    05001000001 05001000002-------there is no 05001000003 number in the
    05001000015 05001000020 start numbers so it has to stop its range by this number).
    How can i get this result........

    Hi,
    Try this. I am sure you know how to write procedure, I have skipped those obligations, anyway u can sense the absic way of working from here I think. Pls do the uppercase / lowercase adjustment as required by your operating system.
    Declare
    mnd CXATCMS.end_no%type;
    numRec CXATCMS.%rowtype;
    Cursor C is select * from CXATCMS where start_no between 1 and 20 order by start_no;
    begin
    select min(end_no)+1 into mnd from CXATCMS where start_no between 1 and 20;
    open C;
    Loop
    fetch C into numRec;
    DBMS_OUTPUT.putline(numRec);
    exit when mnd<>numrec.start_no;
    if mnd=numrec.start_no then
    mnd:=numRec.end_no + 1;
    end if;
    end loop;
    Exception
    when no_data_found raise application_error;
    end;
    gimme feadback pl,
    Pragati.

  • New to Java and need help with this program..please!

    I'd really appreciate any helpful comments about this program assignment that I have to turn in a week from Friday. I'm taking a class one night a week and completely new to Java. I'd ask my professor for help, but we can't call him during the week and he never answers e-mails. He didn't tell us how to call from other classes yet, and I just can't get the darn thing to do what I want it to do!
    The assignment requirements are:
    1. Change a card game application that draws two cards
    and the higher card wins, to a Blackjack application
    2. Include a new class called Hand
    3. The Hand class should record the number of draws
    4. The application should prompt for a number of draws
    5. The game is played against the Dealer
    6. The dealer always draws a card if the dealer's hand total is <= 17
    7. Prompt the player after each hand if he wants to quit
    8. Display the total games won by the dealer and total and the total games wond by the player after each hand
    9. Display all of the dealer's and player's cards at the
    end of each hand
    10. Player has the option of drawing an additional card after the first two cards
    11. The Ace can have a value of 11 or 1
    (Even though it's not called for in the requirements, I would like to be able to let the Ace have a value of 1 or an 11)
    The following is my code with some comments about a few things that are driving me nuts:
    import java.util.*;
    import javax.swing.*;
    import java.text.*;
    public class CardDeck
    public CardDeck()
    deck = new Card[52];
    fill();
    shuffle();
    public void fill()
    int i;
    int j;
    for (i = 1; i <= 13; i++)
    for (j = 1; j <= 4; j++)
    deck[4 * (i - 1) + j - 1] = new Card(i, j);
    cards = 52;
    public void shuffle()
    int next;
    for (next = 0; next < cards - 1; next++)
    int rand = (int)(Math.random()*(next+1));
    Card temp = deck[next];
    deck[next] = deck[rand];
    deck[rand] = temp;
    public final Card draw()
    if (cards == 0)
    return null;
    cards--;
    return deck[cards];
    public int changeValue()
    int val = 0;
    boolean ace = false;
    int cds;
    for (int i = 0; i < cards; i++)
    if (cardValue > 10)
    cardValue = 10;
    if (cardValue ==1)     {
    ace = true;
    val = val + cardValue;
    if ( ace = true && val + 10 <= 21 )
    val = val + 10;
    return val;
    public static void main(String[] args)
    CardDeck d = new CardDeck();
    int x = 3;
    int i;
    int wins = 1;
    int playerTotal = 1;
    do {
    Card dealer = (d.draw());
    /**I've tried everything I can think of to call the ChangeValue() method after I draw the card, but nothing is working for me.**/
    System.out.println("Dealer draws: " + dealer);
    do {
    dealer = (d.draw());
    System.out.println(" " + dealer);
    }while (dealer.rank() <= 17);
    Card mine = d.draw();
    System.out.println("\t\t\t\t Player draws: "
    + mine);
    mine = d.draw();
    System.out.println("\t\t\t\t\t\t" + mine);
    do{
    String input = JOptionPane.showInputDialog
    ("Would you like a card? ");
    if(input.equalsIgnoreCase("yes"))
         mine = d.draw();
    System.out.println("\t\t\t\t\t\t" + mine);
         playerTotal++;
         else if(input.equalsIgnoreCase("no"))
    System.out.println("\t\t\t\t Player stands");
         else
    System.out.println("\t\tInvalid input.
    Please try again.");
    I don't know how to go about making and calling a method or class that will combine the total cards delt to the player and the total cards delt to the dealer. The rank() method only seems to give me the last cards drawn to compare with when I try to do the tests.**/
    if ((dealer.rank() > mine.rank())
    && (dealer.rank() <= 21)
    || (mine.rank() > 21)
    && (dealer.rank() < 22)
    || ((dealer.rank() == 21)
    && (mine.rank() == 21))
    || ((mine.rank() > 21)
    && (dealer.rank() <= 21)))
    System.out.println("Dealer wins");
    wins++;
         else
    System.out.println("I win!");
    break;
    } while (playerTotal <= 1);
    String stop = JOptionPane.showInputDialog
    ("Would you like to play again? ");
    if (stop.equalsIgnoreCase("no"))
    break;
    if (rounds == 5)
    System.out.println("Player wins " +
    (CardDeck.rounds - wins) + "rounds");
    } while (rounds <= 5);
    private Card[] deck;
    private int cards;
    public static int rounds = 1;
    public int cardValue;
    /**When I try to compile this nested class, I get an error message saying I need a brace here and at the end of the program. I don't know if any of this code would work because I've tried adding braces and still can't compile it.**/
    class Hand()
    static int r = 1;
    public Hand() { CardDeck.rounds = r; }
    public int getRounds() { return r++; }
    final class Card
    public static final int ACE = 1;
    public static final int JACK = 11;
    public static final int QUEEN = 12;
    public static final int KING = 13;
    public static final int CLUBS = 1;
    public static final int DIAMONDS = 2;
    public static final int HEARTS = 3;
    public static final int SPADES = 4;
    public Card(int v, int s)
    value = v;
    suit = s;
    public int getValue() { return value; }
    public int getSuit() { return suit;  }
    public int rank()
    if (value == 1)
    return 4 * 13 + suit;
    else
    return 4 * (value - 1) + suit;
    /**This works, but I'm confused. How is this method called? Does it call itself?**/
    public String toString()
    String v;
    String s;
    if (value == ACE)
    v = "Ace";
    else if (value == JACK)
    v = "Jack";
    else if (value == QUEEN)
    v = "Queen";
    else if (value == KING)
    v = "King";
    else
    v = String.valueOf(value);
    if (suit == DIAMONDS)
    s = "Diamonds";
    else if (suit == HEARTS)
    s = "Hearts";
    else if (suit == SPADES)
    s = "Spades";
    else
    s = "Clubs";
    return v + " of " + s;
    private int value; //Value is an integer, so how can a
    private int suit; //string be assigned to an integer?
    }

    Thank you so much for offering to help me with this Jamie! When I tried to call change value using:
    Card dealer = (d.changeValue());
    I get an error message saying:
    Incompatible types found: int
    required: Card
    I had my weekly class last night and the professor cleared up a few things for me, but I've not had time to make all of the necessary changes. I did find out how toString worked, so that's one question out of the way, and he gave us a lot of information for adding another class to generate random numbers.
    Again, thank you so much. I really want to learn this but I'm feeling so stupid right now. Any help you can give me about the above error message would be appreciated.

  • ADF Rollback - Please give me solution

    Hi,
    Please give me a solution. Here is the scenario.
    - I use ADF + Struts + JSP
    - If I rollback the transaction on an edit page due to some constraint error ( eg: unique constraint), view object points to the first row automatically. User still see the old values on the screen. If the user tries to re-enter the values, it updates the first record. Please give me some alternative solution ?
    - If i donot rollback the transaction, then it saves correctly, but the user gets the same error when he performs any operation on any other page. We can not expect the user to press the cancel button each time.
    Please provide some alternative solution for this.

    Hi Frank,
    Thanks for your reply.
    Now the problem of the first row is resolved by setting the row key in session.
    I followed the same steps as you told. But there is still some problem exists.
    1. After i get the constraint error, currently i save the row currency and rollback the transaction and set it again. User is able to save correctly without any problem.
    2. But if the user decides not to save the record after the unique constraint violation error, even though i did the rollback, i get the same constraint error if i try to perform any operation on any other page. Please give me solution for this.
    3. And also i see the same record on the list page even though i rollback in the edit page . Please give me solution for this.
    This is happening only if the user is not saving. If pressed on cancel..every thing works fine. But ther user may not click the cancel.
    Please reply me as soon as possible. I have so many web pages facing the same problem
    Thanks.

Maybe you are looking for