About UndoableEditEvent Class. Help!

Hi,
I am Tonmoy. My Question below:
1. The Class "UndoableEditEvent" has a method named "getEdit()"
which returns "UndoableEdit".
My question is : Is the method return an interface or the classes that
implements that interface? If it is a class, then please mention
the name of the class.
Pleas Help Me. Help must be appreciated. Thank You.

hi, I am Y_NOT :)
i really dont understand your question, did you read API/Manual before asking. I guess you can get all this type of information through reading API.

Similar Messages

  • Question about inner class - help please

    hi all
    i have a question about the inner class. i need to create some kind of object inside a process class. the reason for the creation of object is because i need to get some values from database and store them in an array:
    name, value, indexNum, flag
    i need to create an array of objects to hold those values and do some process in the process class. the object is only for the process class that contains it. i am not really certain how to create this inner class. i tried it with the following:
    public class process{
    class MyObject{}
    List l = new ArrayList();
    l.add(new MyObject(....));
    or should i create the object as static? what is the benifit of creating this way or static way? thanks for you help.

    for this case, i do need to create a new instance of
    this MyObject each time the process is running with a
    new message - xml. but i will be dealing with the case
    where i will need a static object to hold some
    property values for all the instances. so i suppose i
    will be using static inner class for that case.The two situations are not the same. You know the difference between instance variables and static variables, of course (although you make the usual sloppy error and call them static objects). But the meaning of "static" in the definition of an inner class is this: if you don't declare an inner class static, then an instance of that inner class must belong to an instance of its containing class. If you do declare the inner class static, then an instance of the inner class can exist on its own without any corresponding instance of the containing class. Obviously this has nothing to do with the meaning of "static" with respect to variables.

  • Need help about Vector class in java

    Hello,
    I have some questions about Vector class. Please see this short code:
    Vector v = new Vector();
    v.add(New Integer(5));
    Is this the only way to add int value into vector? Performance wise, is this slow? And are there any better and faster way to add/get int element fro vector?
    Thank you very much in advance.

    Normally (up to Java version 1.4), that's the only way you can add an int to a Vector. The thing is that Vector can only contain Objects, and an int is a primitive, not an object. So you have to wrap the int in an Integer object.
    However, Java 5 has a new feature, called autoboxing, which means that the compiler automatically wraps primitive values into objects, so that you can program it like this:
    Vector v = new Vector();
    v.add(5);Note, this will not make your program faster or more efficient, because the compiler translates this automatically to:
    Vector v = new Vector();
    v.add(new Integer(5));So in the end, the same bytecode will be produced. Autoboxing is just a feature to make life more convenient for the programmer.

  • To ragnic and other about Singleton class

    Hi ragnic. Thanks for your reply. I posted the code wrong. Heres' my correct one.
    I have a GUI first loaded information and the information is stored in a databse, I have some EJB classes..and my singleton class ABC has some method to access to the EJB..
    so my first GUI will gather info using singleton class and later if I click on
    a button in my first GUI class, will pop up another frame of another class , this class also need to class setPassword in my Singleton..
    are my followign codes correctly??
    iS my Class ABC a SINgleton class? thanks
    Is my class ABC use as single correctly. And It is called from other classes is also correct?
    I'm new to java and like to learn about Singleton class.
    But I really dont' understand it clearly after reading many examples of it.
    I have a project to convert my class abc to a singleton.
    But I dont know how to do it.
    In my class(soon will become a singleton) will have few methods that later I need to use it from another class A and class B.
    I have a GUI application that first load my class A..and my class will call
    class abc(singleton) to get some information from it.
    and then in class A has a button, if I click on that button I will call SIngleton class again to update my password, in the singleton class has method calls updatePassword. But I dont know how to call a singleton from other class.
    I have my code for them below:
    1)public class ABC //attempt using a singleton
    private static ABC theABC = null;
    private ABC(){}
    public synchronized static ABC getABC()
    if(theABC == null)
    theABC= new ABC();
    return the ABC;
    public void updateUserInfo(SimpleUser user)
    throws UserNotFoundException, DelegateException
    try
    UserCollectionHome userCollectionHome = (UserCollectionHome)
    EJBHomeFactory.getFactory().lookupHome("vista/UserCollection",
    UserCollectionHome.class);
    UserHome userHome = (UserHome)
    EJBHomeFactory.getFactory().lookupHome("vista/User",UserHome.class);
    UserCollection uc = userCollectionHome.create();
    uc.updateUserInfo(user, userHome);
    } catch(HomeFactoryException hfe) {
    hfe.printStackTrace();
    throw new DelegateException(hfe);
    } catch(RemoteException re) {
    re.printStackTrace();
    throw new DelegateException(re);
    } catch(CreateException ce) {
    ce.printStackTrace();
    throw new DelegateException(ce);
    } catch(FinderException fe) {
    fe.printStackTrace();
    throw new UserNotFoundException();
    public SimpleUser getID(String id)
    throws UserNotFoundException, DelegateException
    try
    UserCollectionHome userCollectionHome = (UserCollectionHome)
    EJBHomeFactory.getFactory().lookupHome("vista/UserCollection",
    UserCollectionHome.class);
    UserHome userHome = (UserHome)
    EJBHomeFactory.getFactory().lookupHome("vista/User",UserHome.class);
    UserCollection uc = userCollectionHome.create();
    SimpleUser su = uc.getID(id, userHome);
    return su;
    } catch(HomeFactoryException hfe) {
    throw new DelegateException(hfe);
    } catch(RemoteException re) {
    throw new DelegateException(re);
    } catch(CreateException ce) {
    throw new DelegateException(ce);
    } catch(FinderException fe) {
    throw new UserNotFoundException();
    public void setPassword(String lname,String pw)
    throws UserNotFoundException, DelegateException
    try
    UserCollectionHome userCollectionHome = (UserCollectionHome)
    EJBHomeFactory.getFactory().lookupHome("vista/UserCollection",
    UserCollectionHome.class);
    UserHome userHome = (UserHome)
    EJBHomeFactory.getFactory().lookupHome("vista/User",UserHome.class);
    UserCollection uc = userCollectionHome.create();
    uc.setPassword(lname,pw, userHome);//assume that all lname are differents.
    } catch(HomeFactoryException hfe) {
    hfe.printStackTrace();
    throw new DelegateException(hfe);
    } catch(RemoteException re) {
    re.printStackTrace();
    throw new DelegateException(re);
    } catch(CreateException ce) {
    ce.printStackTrace();
    throw new DelegateException(ce);
    } catch(FinderException fe) {
    fe.printStackTrace();
    throw new UserNotFoundException();
    }//Do I have my class as a Singleton correctly???
    2)//Here is my First Frame that will call a Singleton to gather user information
    public A(Frame owner)
    super(owner, "User Personal Information",true);
    initScreen();
    loadPersonalInfo();
    * This method instantiates all the GUI widgets and places them into panels and
    * onto the frame.
    private void initScreen()
    txtFname = new JTextField(20);
    txtLname=new JTextField(20);
    btnsave =new JButton("Save");
    btnChange= new JButton("Click here to change PW");//when you click this button there will be a frame pop up for you to enter informaton..this iwll call class B
    JPanel pnlMain=new JPanel();
    JPanel pnlFname= new JPanel();
    pnlFname.setLayout(new BoxLayout(pnlFname, BoxLayout.X_AXIS));
    pnlFname.setBorder(BorderFactory.createEmptyBorder(0,87,0,90));
    pnlFname.add(new JLabel("First Name:"));
    pnlFname.add(Box.createRigidArea(new Dimension(5,0)));
    pnlFname.add(txtFname);
    JPanel pnlLname= new JPanel();
    pnlLname.setLayout(new BoxLayout(pnlLname, BoxLayout.X_AXIS));
    pnlLname.setBorder(BorderFactory.createEmptyBorder(0,87,0,90));
    pnlLname.add(new JLabel("Last Name:"));
    pnlLname.add(Box.createRigidArea(new Dimension(5,0)));
    pnlLname.add(txtLname);
    pnlMain.add(pnlFname);
    pnlMain.add(pnlLname);
    pnlMain.add(btnsave);
    pnlMain.add(btnChange");
    btnSave = new JButton("Save");
    btnSave.setActionCommand("SAVE");
    btnSave.addActionListener(this);
    btnCancel = new JButton("Cancel");
    btnCancel.setActionCommand("CANCEL");
    btnCancel.addActionListener(this);
    JPanel pnlBottom = new JPanel();
    pnlBottom.setLayout(new BoxLayout(pnlBottom, BoxLayout.X_AXIS));
    pnlBottom.setBorder(BorderFactory.createEmptyBorder(25,55,0,0));
    pnlBottom.add(btnSave);
    pnlBottom.add(Box.createRigidArea(new Dimension(25,0)));
    pnlBottom.add(btnCancel);
    pnlMain.add(pnlBottom);
    this.setContentPane( pnlMain);
    setSize(500,500);
    GraphicUtilities.center(this);
    theABC=ABC.getABC();
    //Do I call my ABC singleton class correctly??
    private void loadPersonalInfo()
    String ID= System.getProperty("user.name");
    SimpleUser user = null;
    try {
    user = ABC.getID(ID);
    //I tried to use method in ABC singleton class. IS this correctly call?
    } catch(UserNotFoundException nfe)
    JOptionPane.showMessageDialog(new JDialog(),"You have not yet registered.",
    "User Not Found",JOptionPane.WARNING_MESSAGE);
    System.exit(0);
    } catch(DelegateException de) {
    JOptionPane.showMessageDialog(new JDialog(),"You have not yet registered",JOptionPane.ERROR_MESSAGE);
    System.exit(0);
    currentUser = user;
    txtFname.setText(currentUser.getFirstName());
    txtLname.setText(currentUser.getLastName());
    //This information will be display in my textfields Fname and Lname
    //I can change my first and last name and hit button SAVE to save
    public void actionPerformed(ActionEvent e)
    if(e.getActionCommand().equals("SAVE")) submitChanges();
    if(e.getActionCommand().equals("CHANGE_PASSWORD")) {
    changepassword=new ChangePassword(new Frame(),name,badgeid);
    public void submitChanges(){
    String currentNTUsername = System.getProperty("user.name");
    SimpleUser user =null;
    try {
    user = theABC.getID(ID);
    user.setFirstName(txtFname.getText().trim());
    user.setLastName(txtLname.getText().trim());
    currentUser = user;
    theABC.updateUserInfo(currentUser);
    //IS this correctly if I want to use this method in singleton class ABC??
    } catch(UserNotFoundException nfe)
    JOptionPane.showMessageDialog(new JDialog(),"You have not yet registered",
    "User Not Found",JOptionPane.WARNING_MESSAGE);
    } catch(DelegateException de) {
    JOptionPane.showMessageDialog(new JDialog(),"You have not yet registered",JOptionPane.ERROR_MESSAGE);
    System.exit(0);
    this.setVisible(false);
    3) click on ChangePassword in my above GUI class A..will call this class B..and in this class B
    I need to access method in a Singleton class- ABC class,,DO i need to inititates it agian, if not what should I do? thanks
    package com.lockheed.vista.userinfo;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.event.*;
    import javax.swing.border.*;
    import javax.swing.table.*;
    import javax.swing.tree.*;
    import java.util.StringTokenizer;
    import java.util.Vector;
    import java.io.*;
    import javax.swing.text.*;
    import javax.swing.text.html.*;
    import javax.swing.colorchooser.*;
    import javax.swing.filechooser.*;
    import javax.accessibility.*;
    import java.beans.*;
    import java.applet.*;
    import java.net.*;
    import org.apache.log4j.*;
    import com.lockheed.common.gui.GraphicUtilities;
    import javax.swing.*;
    import javax.swing.event.*;
    import javax.swing.border.*;
    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    import vista.user.UserServicesDelegate;
    import vista.user.SimpleUser;
    import vista.user.UserNotFoundException;
    import vista.user.*;
    import com.lockheed.common.ejb.*;
    import com.lockheed.common.gui.*;
    import com.lockheed.vista.publish.*;
    * This program allow users to change their Vista Web Center's password
    public class ChangePassword extends JDialog
    implements ActionListener{
    protected final Logger log = Logger.getLogger(getClass().getName());
    private UserServicesDelegate userServicesDelegate;
    private User currentUser = null;
    private JPasswordField txtPasswd, txtVerifyPW;
    private JButton btnSubmit,btnCancel;
    private JLabel lblName,lblBadgeID;
    private String strBadgeID="";
    * This is the constructor. It creates an instance of the ChangePassword
    * and calls the method to create and build the GUI.
    public ChangePassword(Frame owner,String name,String badgeid)
    super(owner, "Change Password",true);
    initScreen(name,badgeid);//build the GUI
    * This method instantiates all the GUI widgets and places them into panels and
    * onto the frame.
    private void initScreen(String strname,String strBadgeid)
    txtPasswd = new JPasswordField(20);
    txtVerifyPW=new JPasswordField(20);
    txtPasswd.setEchoChar('*');
    txtVerifyPW.setEchoChar('*');
    JPanel pnlMain=new JPanel();
    pnlMain.setLayout(new BoxLayout(pnlMain, BoxLayout.Y_AXIS));
    pnlMain.setBorder(BorderFactory.createEmptyBorder(20,0,20,0));
    JPanel pnlPW=new JPanel();
    pnlPW.setLayout(new BoxLayout(pnlPW, BoxLayout.X_AXIS));
    pnlPW.setBorder(BorderFactory.createEmptyBorder(0,96,0,30));
    pnlPW.add(new JLabel("Password:"));
    pnlPW.add(Box.createRigidArea(new Dimension(5,0)));
    pnlPW.add(txtPasswd);
    JPanel pnlVerifyPW=new JPanel();
    pnlVerifyPW.setLayout(new BoxLayout(pnlVerifyPW, BoxLayout.X_AXIS));
    pnlVerifyPW.setBorder(BorderFactory.createEmptyBorder(0,63,0,30));
    pnlVerifyPW.add(new JLabel("Verify Password:"));
    pnlVerifyPW.add(Box.createRigidArea(new Dimension(5,0)));
    pnlVerifyPW.add(txtVerifyPW);
    JPanel pnlTop= new JPanel();
    pnlTop.add(pnlPW);
    pnlTop.add(Box.createRigidArea(new Dimension(0,10)));
    pnlTop.add(pnlVerifyPW);
    pnlMain.add(pnlTop);
    btnSubmit = new JButton("Submit");
    btnSubmit.setActionCommand("SUBMIT");
    btnSubmit.addActionListener(this);
    btnCancel = new JButton("Cancel");
    btnCancel.setActionCommand("CANCEL");
    btnCancel.addActionListener(this);
    JPanel pnlBottom = new JPanel();
    pnlBottom.setLayout(new BoxLayout(pnlBottom, BoxLayout.X_AXIS));
    pnlBottom.setBorder(BorderFactory.createEmptyBorder(25,55,20,30));
    pnlBottom.add(btnSubmit);
    pnlBottom.add(Box.createRigidArea(new Dimension(25,0)));
    pnlBottom.add(btnCancel);
    pnlMain.add(pnlBottom);
    this.setContentPane( pnlMain);
    setSize(350,230);
    setVisible(true);
    public void actionPerformed(ActionEvent e)
    if(e.getActionCommand().equals("CANCEL")) this.setVisible(false);
    if(e.getActionCommand().equals("SUBMIT")) submitPW();
    * This method is called when the submit button is clicked. It allows user to change
    * their password.
    public void submitPW(){
    myABC= ABC.getABC();//Is this correct?
    char[] pw =txtPasswd.getPassword();
    String strPasswd="";
    for(int i=0;i<pw.length;i++){
    strPasswd=strPasswd+pw;
    char[] vpw =txtVerifyPW.getPassword();
    String strVerifyPW="";
    for(int i=0;i<vpw.length;i++){
    strVerifyPW=strVerifyPW+pw;
    if((strPasswd==null)||(strPasswd.length()==0)) {
    JOptionPane.showMessageDialog(new JDialog(),"You have not enter a password. Please try again.",
    "Invalid Password",JOptionPane.ERROR_MESSAGE);
    if((!strPasswd.equals(strVerifyPW)))
    //password and verify password do not match.
    JOptionPane.showMessageDialog(new JDialog(),"Your passwords do not match. Reenter and try again.",
    "Invalid Password",JOptionPane.ERROR_MESSAGE);
    try
    myABC.setUserPassword(strPasswd);//try to use a method in Singleton class
    txtPasswd.setText("");
    txtVerifyPW.setText("");
    this.setVisible(false);
    } catch(DelegateException e) {
    JOptionPane.showMessageDialog(new Frame(),
    "Error.",
    "Unable to change password information.",JOptionPane.WARNING_MESSAGE);
    } catch(UserNotFoundException e) {
    JOptionPane.showMessageDialog(new Frame(),
    "Error.",
    "Unable to change password information.",JOptionPane.WARNING_MESSAGE);
    And ofcourse I have other EJB classes to work with these classes.
    ***It compiles okey but when I ran, it say "NullPointerException"
    I think I call my Singleton wrong.
    Please help me.thanks

    1. When replying, use <reply>, don't post a new topic.
    2. Implementing a singleton is a frequently asked question. Search before you post.
    3. This is not a question about Swing. A more appropriate forum would be "New To Java Technology" or perhaps "Java Programming", but see point 1.
    4. When posting code, keep it short. It increases the chance of readers looking at it. And in composing your shorter version for the forum, you just may solve your problem.

  • A question about Object Class

    I got a question about Object class in AS3 recently.
    I typed some testing codes as following:
    var cls:Class = Object;
    var cst:* = Object.prototype.constructor;
    trace( cls === cst); // true
    so cls & cst are the same thing ( the Object ).
    var obj:Object = new Object();
    var cst2:* = obj.constructor.constructor;
    var cst3:* = obj.constructor.constructor.c.constructor;
    var cst5:* = Object.prototype.constructoronstructor;
    var cst4:* = Object.prototype.constructor.constructor.constructor;
    var cst6:* = cls.constructor;
    trace(cst2 === cst3 && cst3 === cst4 && cst4 === cst5 && cst5 === cst6); //true
    trace( cst == cst2) // false
    I debugged into these codes and found that cst & cst2 had the same content but not the same object,
    so why cst & cst2 don't point to the same object?
    Also, I can create an object by
    " var obj:Object = new cst();"
    but
    " var obj:Object = new cst2();"
    throws an exception said that cst2 is not a constructor.
    Anyone can help? many thanks!

    I used "describeType" and found that "cst2" is actually "Class" class.
    So,
    trace(cst2 === Class); // true
    That's what I want to know, Thank you.

  • I have frequent instances of my Macbook Pro beeping 3 times and then I have to forcefully shut it down by pressing the power button. What is this all about? Please help. Thank you.

    I have frequent instances of my Macbook Pro beeping 3 times and then I have to forcefully shut it down by pressing the power button. What is this all about? Please help. Thank you.
    I saw this report being sent to Apple:
    Interval Since Last Panic Report:  581719 sec
    Panics Since Last Report:          10
    Anonymous UUID: F4CF708D-D85C-4EC5-8047-4FC22C6B03AF
    Fri Mar  7 13:00:14 2014
    panic(cpu 0 caller 0xffffff80002d1208): Kernel trap at 0xffffff800020c590, type 14=page fault, registers:
    CR0: 0x0000000080010033, CR2: 0x0000000000000000, CR3: 0x0000000007541000, CR4: 0x0000000000040660
    RAX: 0xffffff8000000000, RBX: 0xffffff800d35a870, RCX: 0xffffff800cf55cd8, RDX: 0xffffff80008a8fcc
    RSP: 0xffffff805e5f3d60, RBP: 0xffffff805e5f3da0, RSI: 0x000000001dcd6500, RDI: 0xffffff800d168778
    R8: 0x0000000000000001, R9: 0xffffff805e5f3e88, R10: 0x0000000000000011, R11: 0x0000000000000000
    R12: 0x0000000000000000, R13: 0xffffff800d168770, R14: 0xffffff800d168778, R15: 0x0000000000000000
    RFL: 0x0000000000010082, RIP: 0xffffff800020c590, CS:  0x0000000000000008, SS:  0x0000000000000010
    Error code: 0x0000000000000000
    Backtrace (CPU 0), Frame : Return Address
    0xffffff805e5f3a00 : 0xffffff8000204d15
    0xffffff805e5f3b00 : 0xffffff80002d1208
    0xffffff805e5f3c50 :
    Model: MacBookPro8,1, BootROM MBP81.0047.B27, 2 processors, Intel Core i5, 2.3 GHz, 4 GB, SMC 1.68f99
    Graphics: Intel HD Graphics 3000, Intel HD Graphics 3000, Built-In, 384 MB
    Memory Module: global_name
    AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0xD6), Broadcom BCM43xx 1.0 5.100.198.104.5)
    Bluetooth: Version 2.4.5f3, 2 service, 12 devices, 1 incoming serial ports
    Serial ATA Device: Hitachi HTS545032B9A302, 298.09 GB
    Serial ATA Device: OPTIARC DVD RW AD-5970H
    USB Device: FaceTime HD Camera (Built-in), 0x05ac  (Apple Inc.), 0x8509, 0xfa200000 / 3
    USB Device: Hub, 0x0424 (SMSC), 0x2513, 0xfa100000 / 2
    USB Device: BRCM2070 Hub, 0x0a5c  (Broadcom Corp.), 0x4500, 0xfa110000 / 5
    USB Device: Bluetooth USB Host Controller, 0x05ac  (Apple Inc.), 0x821a, 0xfa113000 / 8
    USB Device: Apple Internal Keyboard / Trackpad, 0x05ac  (Apple Inc.), 0x0245, 0xfa120000 / 4
    USB Device: Hub, 0x0424 (SMSC), 0x2513, 0xfd100000 / 2
    USB Device: IR Receiver, 0x05ac  (Apple Inc.), 0x8242, 0xfd110000 / 3

    Hmm. The problem still may be the RAM - Apple buys the RAM it puts in its machines from third-party vendors (usually Hynix) so it could be a RAM problem.
    There are a couple of things that you can do yourself before taking your machine into an Apple Store or an AASP... download and run an application named Rember that will run a RAM test for you - let it run for a couple of hours or even overnight. If it turns out that your RAM is faulty, Rember will let you know. If it is faulty, then you have a couple of options - replace the RAM yourself or (particularly if you're under warranty still) take the machine to an Apple Store or AASP and have them replace the RAM.
    If Rember finds no fault with the RAM, then you'll need to take it into an Apple Store/AASP and get a free diagnosis on the machine. Three beeps do usually indicate faulty RAM, but if it tests good with Rember you likely have another problem - it could be something as simple as the RAM, somehow, not seated correctly or signs of another hardware problem.
    Run Rember first... call back with results.
    Good luck,
    Clinton

  • I was updating software and suddenly my IPHONE  started asking for I tunes on mobile screen ,  how can  i  get by screen back or How i can restore without loosing data , I m more worried about data , Please help in resolutio

    i was updating software and suddenly my IPHONE  started asking for I tunes on mobile screen ,  how can  i  get by screen back or How i can restore without loosing data , I m more worried about data , Please help in resolutio

    What exactly are you seeing on the phone's screen ? If the iTunes icon and cable then the phone is in recovery mode, in which case it's too late to take a new backup or to copy any content off the phone - you will have to connect the phone to your computer's iTunes and reset it back to factory defaults, after which you can restore to the last backup that you took or just resync your content to it

  • About bapi with help of example

    about bapi with help of example plz dont give links.

    With the correct customizing (order types, etc...) the following BAPI will create a PM order for you.
    Naturally the master data is also required to be created in SAP (Technical objects, Work places, etc...)
    *& Report  Z_BAPI_ALM_ORDER_MAINTAIN_TEST                              *
    REPORT  z_bapi_alm_order_maintain_test.
    TABLES: mara,
            resb.                               "anyagfoglalások táblája
    DATA: it_methods LIKE STANDARD TABLE OF bapi_alm_order_method,
          wa_methods LIKE LINE OF it_methods.
    DATA: it_header LIKE STANDARD TABLE OF bapi_alm_order_headers_i,
          wa_header LIKE LINE OF it_header.
    DATA: it_operation LIKE STANDARD TABLE OF bapi_alm_order_operation,
          wa_operation LIKE LINE OF it_operation.
    DATA: it_component LIKE STANDARD TABLE OF bapi_alm_order_component,
          wa_component LIKE LINE OF it_component.
    DATA: it_component_up LIKE
                          STANDARD TABLE OF bapi_alm_order_component_up,
          wa_component_up LIKE LINE OF it_component_up.
    DATA: et_numbers LIKE STANDARD TABLE OF bapi_alm_numbers,
          wa_numbers LIKE LINE OF et_numbers.
    DATA: et_extension_in LIKE STANDARD TABLE OF bapiparex,
          wa_extension_in LIKE LINE OF et_extension_in.
    DATA: et_return LIKE STANDARD TABLE OF bapiret2,
          wa_return LIKE LINE OF et_return.
    DATA: it_resb LIKE STANDARD TABLE OF resb,
          wa_resb LIKE LINE OF it_resb.
    DATA: lv_commit TYPE i.
    PARAMETERS: p_test AS CHECKBOX DEFAULT 'X'.
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS: p_create RADIOBUTTON GROUP rg1 DEFAULT 'X'.
    SELECTION-SCREEN COMMENT 4(30) text-rcr.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS: p_change RADIOBUTTON GROUP rg1.
    SELECTION-SCREEN COMMENT 4(30) text-rch.
    PARAMETERS: p_aufnr LIKE aufk-aufnr MEMORY ID anr.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN SKIP.
    PARAMETERS: p_compon AS CHECKBOX DEFAULT 'X'.
    PARAMETERS: p_partn AS CHECKBOX DEFAULT 'X'.
    START-OF-SELECTION.
      IF p_aufnr IS INITIAL.
        MOVE '007321002921' TO p_aufnr.
      ENDIF.
      PERFORM it_methods_fill.
      PERFORM it_header_fill.
      PERFORM it_operation_fill.
      IF p_compon = 'X'.
        PERFORM it_component_fill.
      ENDIF.
      REFRESH et_numbers.
      break zaladev.
      CALL FUNCTION 'Z_BAPI_ALM_ORDER_MAINTAIN'
        TABLES
          it_methods             = it_methods
          it_header              = it_header
    *   IT_HEADER_UP           =
    *   IT_HEADER_SRV          =
    *   IT_HEADER_SRV_UP       =
    *   IT_USERSTATUS          =
    *   IT_PARTNER             =
    *   IT_PARTNER_UP          =
          it_operation           = it_operation
    *   IT_OPERATION_UP        =
    *   IT_RELATION            =
    *   IT_RELATION_UP         =
          it_component           = it_component
          it_component_up        = it_component_up
    *   IT_TEXT                = it_text
    *   IT_TEXT_LINES          =
          extension_in           = et_extension_in
          et_return              = et_return
          et_numbers             = et_numbers.
      CLEAR lv_commit.
      LOOP AT et_return INTO wa_return.
        IF wa_return-type = 'S' AND NOT wa_return-message_v2 IS INITIAL.
          IF p_test IS INITIAL.
            CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
            lv_commit = 1.
          ENDIF.
          EXIT.
        ENDIF.
      ENDLOOP.
      IF lv_commit IS INITIAL.
        CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
      ENDIF.
      break zaladev.
    *&      Form  it_methods_fill
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM it_methods_fill.
      IF p_create = 'X'.                               "LÉTREHOZÁS
        MOVE '1' TO wa_methods-refnumber.
        MOVE 'HEADER' TO wa_methods-objecttype.
        MOVE 'CREATE' TO wa_methods-method.
        MOVE '%00000000001' TO wa_methods-objectkey.
        APPEND wa_methods TO it_methods.
        MOVE '1' TO wa_methods-refnumber.
        MOVE 'OPERATION' TO wa_methods-objecttype.
        MOVE 'CREATE' TO wa_methods-method.
        MOVE '%000000000010010' TO wa_methods-objectkey.
        APPEND wa_methods TO it_methods.
        MOVE '2' TO wa_methods-refnumber.
        MOVE 'OPERATION' TO wa_methods-objecttype.
        MOVE 'CREATE' TO wa_methods-method.
        MOVE '%000000000010020' TO wa_methods-objectkey.
        APPEND wa_methods TO it_methods.
        MOVE '3' TO wa_methods-refnumber.
        MOVE 'OPERATION' TO wa_methods-objecttype.
        MOVE 'CREATE' TO wa_methods-method.
        MOVE '%0000000000100200010' TO wa_methods-objectkey.
        APPEND wa_methods TO it_methods.
        MOVE '4' TO wa_methods-refnumber.
        MOVE 'OPERATION' TO wa_methods-objecttype.
        MOVE 'CREATE' TO wa_methods-method.
        MOVE '%0000000000100200020' TO wa_methods-objectkey.
        APPEND wa_methods TO it_methods.
        IF p_compon = 'X'.
          MOVE 1 TO wa_methods-refnumber.
          MOVE 'COMPONENT' TO wa_methods-objecttype.
          MOVE 'CREATE' TO wa_methods-method.
          MOVE '%00000000001' TO wa_methods-objectkey.
          APPEND wa_methods TO it_methods.
          MOVE 2 TO wa_methods-refnumber.
          MOVE 'COMPONENT' TO wa_methods-objecttype.
          MOVE 'CREATE' TO wa_methods-method.
          MOVE '%00000000001' TO wa_methods-objectkey.
          APPEND wa_methods TO it_methods.
        ENDIF.
        MOVE '1' TO wa_methods-refnumber.
        MOVE '' TO wa_methods-objecttype.
        MOVE 'SAVE' TO wa_methods-method.
        MOVE '%00000000001' TO wa_methods-objectkey.
        APPEND wa_methods TO it_methods.
      ELSE.                                            "MÓDOSÍTÁS
        MOVE '1' TO wa_methods-refnumber.
        MOVE 'HEADER' TO wa_methods-objecttype.
        MOVE 'CHANGE' TO wa_methods-method.
        MOVE p_aufnr TO wa_methods-objectkey.
        APPEND wa_methods TO it_methods.
        IF p_compon = 'X'.
          MOVE 1 TO wa_methods-refnumber.
          MOVE 'COMPONENT' TO wa_methods-objecttype.
          MOVE 'CHANGE' TO wa_methods-method.
          MOVE p_aufnr TO wa_methods-objectkey.
          APPEND wa_methods TO it_methods.
          MOVE 2 TO wa_methods-refnumber.
          MOVE 'COMPONENT' TO wa_methods-objecttype.
          MOVE 'CHANGE' TO wa_methods-method.
          MOVE p_aufnr TO wa_methods-objectkey.
          APPEND wa_methods TO it_methods.
          MOVE 3 TO wa_methods-refnumber.
          MOVE 'COMPONENT' TO wa_methods-objecttype.
          MOVE 'DELETE' TO wa_methods-method.
          MOVE p_aufnr TO wa_methods-objectkey.
          APPEND wa_methods TO it_methods.
        ENDIF.
        MOVE '1' TO wa_methods-refnumber.
        MOVE '' TO wa_methods-objecttype.
        MOVE 'SAVE' TO wa_methods-method.
        MOVE p_aufnr TO wa_methods-objectkey.
        APPEND wa_methods TO it_methods.
      ENDIF.
    ENDFORM.                    " it_methods_fill
    *&      Form  it_header_fill
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM it_header_fill .
      IF p_create = 'X'.                               "LÉTREHOZÁS
        MOVE '%00000000001' TO wa_header-orderid.
        MOVE 'D210' TO wa_header-order_type.           "rendelésfajta
        MOVE '2000' TO wa_header-planplant.            "tervez&#337; gyár
        MOVE '19' TO wa_header-mn_wk_ctr.              "fel.munkahely
        MOVE '2000' TO wa_header-plant.                "fel.munkahely gyára
        MOVE 'CUV-SZV-CSUR-ATEM-I...' TO wa_header-funct_loc. "m&#369;sz.hely
        MOVE '' TO wa_header-equipment.                "berendezés
        MOVE '' TO wa_header-material.                 "anyagszám
    *    MOVE '' TO wa_header-LOC_WK_CTR.               "fel.munkahely
    *    MOVE '' TO wa_header-LOC_COMP_CODE.            "vállalat
    *    MOVE sy-datum TO wa_header-START_DATE.         "kezdés dátuma
    *    MOVE sy-datum TO wa_header-FINISH_DATE.        "befejezés dátuma
    *    MOVE '' TO wa_header-BASICSTART.               "kezdés id&#337;pontja
    *   MOVE '' TO wa_header-BASIC_FIN.                "befejezés id&#337;pontja
        MOVE 'Teszt szöveg 1' TO wa_header-short_text.  "szöveg
        APPEND wa_header TO it_header.
      ELSE.                                            "MÓDOSÍTÁS
        MOVE p_aufnr TO wa_header-orderid.
        MOVE 'CUV-SZV-CSUR-ATEM-II..' TO wa_header-funct_loc. "m&#369;sz.hely
        MOVE 'Teszt szöveg módosítva 2' TO wa_header-short_text.  "szöveg
        APPEND wa_header TO it_header.
      ENDIF.
    ENDFORM.                    " it_header_fill
    *&      Form  it_operation_fill
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM it_operation_fill .
      IF p_create = 'X'.                                "LÉTREHOZÁS
        MOVE 10 TO wa_operation-activity.             "m&#369;velet
        MOVE ''     TO wa_operation-sub_activity.         "al-m&#369;velet
        MOVE 'PM01'     TO wa_operation-control_key.         "vezérl&#337; kulcs
    *    MOVE '19'   TO wa_operation-WORK_CNTR.            "munkahely
    *    MOVE '2000' TO wa_operation-PLANT.                "gyár
        MOVE ''     TO wa_operation-standard_text_key.    "mintakulcs
        MOVE 'M&#369;velet leírása 1.sor' TO wa_operation-description."leírás
        MOVE ''     TO wa_operation-vendor_no.            "szállító
    *    MOVE 3      TO wa_operation-quantity.             "mennyiség
    *    MOVE 'KG'   TO wa_operation-base_uom.             "menny.egys.
    *    MOVE 500    TO wa_operation-PRICE.                "ár
    *    MOVE 1      TO wa_operation-PRICE_UNIT.           "áregység
    *    MOVE 'HUF'  TO wa_operation-CURRENCY.             "pénznem
    *    MOVE ''     TO wa_operation-PERS_NO.              "törzsszám
        MOVE 10      TO wa_operation-work_activity.        "m&#369;velet munkája
    *    MOVE 'KG'   TO wa_operation-UN_WORK.              "m&#369;velet munkája
        MOVE 2      TO wa_operation-number_of_capacities.  "szüks. kapacitás
        APPEND wa_operation TO it_operation.
        MOVE 20 TO wa_operation-activity.             "m&#369;velet
        MOVE ''     TO wa_operation-sub_activity.         "al-m&#369;velet
        MOVE 'PM01'     TO wa_operation-control_key.         "vezérl&#337; kulcs
    *    MOVE '19'   TO wa_operation-WORK_CNTR.            "munkahely
    *    MOVE '2000' TO wa_operation-PLANT.                "gyár
        MOVE ''     TO wa_operation-standard_text_key.    "mintakulcs
        MOVE 'M&#369;velet leírása 2.sor' TO wa_operation-description."leírás
        MOVE ''     TO wa_operation-vendor_no.            "szállító
    *    MOVE 5      TO wa_operation-quantity.             "mennyiség
    *    MOVE 'KG'   TO wa_operation-base_uom.             "menny.egys.
    *    MOVE 500    TO wa_operation-PRICE.                "ár
    *    MOVE 1      TO wa_operation-PRICE_UNIT.           "áregység
    *    MOVE 'HUF'  TO wa_operation-CURRENCY.             "pénznem
    *    MOVE ''     TO wa_operation-PERS_NO.              "törzsszám
        MOVE 5      TO wa_operation-work_activity.        "m&#369;velet munkája
    *    MOVE 'KG'   TO wa_operation-UN_WORK.              "m&#369;velet munkája
        MOVE 1      TO wa_operation-number_of_capacities.  "szüks. kapacitás
        APPEND wa_operation TO it_operation.
        MOVE 20 TO wa_operation-activity.             "m&#369;velet
        MOVE 10     TO wa_operation-sub_activity.         "al-m&#369;velet
        MOVE 'PM01'     TO wa_operation-control_key.         "vezérl&#337; kulcs
    *    MOVE '19'   TO wa_operation-WORK_CNTR.            "munkahely
    *    MOVE '2000' TO wa_operation-PLANT.                "gyár
        MOVE ''     TO wa_operation-standard_text_key.    "mintakulcs
        MOVE 'Alm&#369;velet leírása 2/1.sor' TO wa_operation-description."leírás
        MOVE ''     TO wa_operation-vendor_no.            "szállító
    *    MOVE 5      TO wa_operation-quantity.             "mennyiség
        MOVE 'KG'   TO wa_operation-base_uom.             "menny.egys.
    *    MOVE 500    TO wa_operation-PRICE.                "ár
    *    MOVE 1      TO wa_operation-PRICE_UNIT.           "áregység
    *    MOVE 'HUF'  TO wa_operation-CURRENCY.             "pénznem
    *    MOVE ''     TO wa_operation-PERS_NO.              "törzsszám
        MOVE 2      TO wa_operation-work_activity.        "m&#369;velet munkája
    *    MOVE 'KG'   TO wa_operation-UN_WORK.              "m&#369;velet munkája
        MOVE 1      TO wa_operation-number_of_capacities.  "szüks. kapacitás
        APPEND wa_operation TO it_operation.
        MOVE 20 TO wa_operation-activity.             "m&#369;velet
        MOVE 20     TO wa_operation-sub_activity.         "al-m&#369;velet
        MOVE 'PM01'     TO wa_operation-control_key.         "vezérl&#337; kulcs
    *    MOVE '19'   TO wa_operation-WORK_CNTR.            "munkahely
    *    MOVE '2000' TO wa_operation-PLANT.                "gyár
        MOVE '11'     TO wa_operation-standard_text_key.    "mintakulcs
        MOVE 'Alm&#369;velet leírása 2/2.sor' TO wa_operation-description."leírás
        MOVE ''     TO wa_operation-vendor_no.            "szállító
        MOVE 5      TO wa_operation-quantity.             "mennyiség
        MOVE 'KG'   TO wa_operation-base_uom.             "menny.egys.
    *    MOVE 500    TO wa_operation-PRICE.                "ár
    *    MOVE 1      TO wa_operation-PRICE_UNIT.           "áregység
    *    MOVE 'HUF'  TO wa_operation-CURRENCY.             "pénznem
    *    MOVE ''     TO wa_operation-PERS_NO.              "törzsszám
        MOVE 3      TO wa_operation-work_activity.        "m&#369;velet munkája
    *    MOVE 'KG'   TO wa_operation-UN_WORK.              "m&#369;velet munkája
        MOVE 1      TO wa_operation-number_of_capacities.  "szüks. kapacitás
        APPEND wa_operation TO it_operation.
      ELSE.                                            "MÓDOSÍTÁS
      ENDIF.
    ENDFORM.                    " it_operation_fill
    *&      Form  it_component_fill
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM it_component_fill.
      IF p_create = 'X'.                                   "LÉTREHOZÁS
        MOVE '0010'            TO wa_component-item_number.
        MOVE '000000023336110300' TO wa_component-material.   "cikkszám
        MOVE '2000'        TO wa_component-plant.      "gyár
        MOVE '0001'        TO wa_component-stge_loc.   "raktár
        MOVE 1             TO wa_component-requirement_quantity. "felh.m.
        MOVE '0020'        TO wa_component-activity.   "m&#369;velet
        APPEND wa_component TO it_component.
        MOVE '0020'         TO wa_component-item_number.
        MOVE '000000095000001900' TO wa_component-material.   "cikkszám
        MOVE '2000'         TO wa_component-plant.      "gyár
        MOVE ''             TO wa_component-stge_loc.   "raktár
        MOVE 2              TO wa_component-requirement_quantity. "felh.m.
        MOVE '0020'         TO wa_component-activity.   "m&#369;velet
        MOVE 'N'            TO wa_component-item_cat.   "tételtípus
        MOVE '0000000014'   TO wa_component-vendor_no.   "szállító
        APPEND wa_component TO it_component.
      ELSE.                                                "MÓDOSÍTÁS
        SELECT * FROM resb
          INTO TABLE it_resb
          WHERE aufnr EQ p_aufnr.
        IF sy-subrc = 0.
          READ TABLE it_resb INTO wa_resb
            WITH KEY aufnr = p_aufnr.
          MOVE wa_resb-rsnum TO wa_component-reserv_no.
        ELSE.
          CLEAR wa_component-reserv_no.
        ENDIF.
        MOVE '0010'            TO wa_component-item_number.
        MOVE '0001'        TO wa_component-res_item.
    *    MOVE '000000023336110400' TO wa_component-material.   "cikkszám
    *    MOVE '2000'        TO wa_component-plant.      "gyár
    *    MOVE '0001'        TO wa_component-stge_loc.   "raktár
        MOVE 6             TO wa_component-requirement_quantity. "felh.m.
        MOVE '0020'        TO wa_component-activity.   "m&#369;velet
        APPEND wa_component TO it_component.
        MOVE 'X' TO wa_component_up-requirement_quantity.
        MOVE 'X' TO wa_component_up-activity.
        APPEND wa_component_up TO it_component_up.
        MOVE '0020'            TO wa_component-item_number.
        MOVE '0002'        TO wa_component-res_item.
    *    MOVE '000000095000001800' TO wa_component-material.   "cikkszám
    *    MOVE '2000'        TO wa_component-plant.      "gyár
    *    MOVE '0001'        TO wa_component-stge_loc.   "raktár
        MOVE 6             TO wa_component-requirement_quantity. "felh.m.
        MOVE '0010'        TO wa_component-activity.   "m&#369;velet
        APPEND wa_component TO it_component.
    *    MOVE 'X' TO wa_component_up-material.
        MOVE 'X' TO wa_component_up-requirement_quantity.
        MOVE 'X' TO wa_component_up-activity.
        APPEND wa_component_up TO it_component_up.
        MOVE '0030'            TO wa_component-item_number.
        MOVE '000000023336110400' TO wa_component-material.   "cikkszám
        MOVE '2000'        TO wa_component-plant.      "gyár
        MOVE '0001'        TO wa_component-stge_loc.   "raktár
        MOVE 7             TO wa_component-requirement_quantity. "felh.m.
        MOVE '0020'        TO wa_component-activity.   "m&#369;velet
        APPEND wa_component TO it_component.
      ENDIF.
    ENDFORM.                    " it_component_fill

  • Question about abstract classes and instances

    I have just read about abstract classes and have learned that they cannot be instantiated.
    I am doing some exercises and have done a class named "Person" and an abstract class named "Animal".
    I want to create a method in "Person" that makes it possible to set more animals to Person objects.
    So I wrote this method in class Person and compiled it and did not get any errors, but will this work later when I run the main-method?
    public void addAnimal(Animal newAnimal)
         animal.add(newAnimal);
    }Is newAnimal not an instance?

    Roxxor wrote:
    Ok, but why is it necessary with constructors in abstract classes if we don�t use them (because what I have understand, constructors are used to create objects)?Constructors don't create objects. The new operator creates objects. An object's c'tor is invoked after the object has already been created. The c'tors job is to initialize the newly-created object to a valid state. Whenever a child object is created, the parent's c'tor is run before the child's c'tor, so that by the time we're inside the child's c'tor, setting up the child's state, we know that the parent (or rather the "parent part" of the object we're initializing) is in a valid state.
    Constructor rules:
    1) Every class has at least one ctor.
    1.1) If you do not define an explicit constructor for your class, the compiler provides a implicit constructor that takes no args and simply calls super().
    1.2) If you do define one or more explicit constructors, regardless of whether they take args, then the compiler no longer provides the implicit no-arg ctor. In this case, you must explicitly define a public MyClass() {...} if you want one.
    1.3) Constructors are not inherited.
    2) The first statement in the body of any ctor is either a call to a superclass ctor super(...) or a call to another ctor of this class this(...) 2.1) If you do not explicitly put a call to super(...) or this(...) as the first statement in a ctor that you define, then the compiler implicitly inserts a call to super's no-arg ctor super() as the first call. The implicitly called ctor is always super's no-arg ctor, regardless of whether the currently running ctor takes args.
    2.2) There is always exactly one call to either super(...) or this(...) in each constructor, and it is always the first call. You can't put in more than one, and if you put one in, the compiler's implicitly provided one is removed.

  • My macbook, OS 6.7, drops my wireless connection after about 10 minutes - help?

    My macbook, OS 6.7, drops my wireless connection after about 10 minutes - help? The lynksys signal works on other computers/iphone but not on my older macbook.

    Same problem, IMac with OSX. Everything else in the house is fine - Netfilx, pc's, radios - Mac drops the wireless after a few minutes. It sits closest to the router. Imac will be OutMac soon if no solution comes along.

  • I just updated my 3gs to iOS5 and it keeps on saying cannot activate iphone.. after searching videos how to activate it.. i can't tap my three fingers because there is no clock showing on my screen. how do i go about it? help please.

    i just updated my 3gs to iOS5 and it keeps on saying cannot activate iphone.. after searching videos how to activate it.. i can't tap my three fingers because there is no clock showing on my screen. how do i go about it? help please.

    i have the exact same problem and im still currently trying to figure out how to activate it

  • Two questions about defining class, pls help me

    Hi, guys. I'm green hand and here are two questions puzzled me several days.
    We know such example as below is a case of cyclic inheritance
    class Base extends Base{     
    But I can't figure out why below is a case of cyclic inheritance too
    class Base{
    class Derived extends Base{
    class Base{
    I can't find the clue of cyclic inheritance. It's quite different from the case that a class extends itself or its subclass.
    Another question is why the inner class can't have the same name of outer?
    class Base{
    class Base{          
    The compiler says Base is already defined in unnamed package. As it says, the inner class is defined in the
    unnamed package, but we know below is correct.
    class Base{
    class Basic{          
    class Derived {
    class Basic{
    We know it's correct. But as the compiler says above, the different two inner class Basic are both defined in the
    unnamed package. Why it's valid and why above is invalid?

    Hi,
    Can you tell us which product (s) you are referring to ? Can you also tell us the nature of your business requirements so that we can offer some suggestions ?
    Regards,
    Sandeep

  • Help me! About Runtime Class

    Two lines in a same program
    1.Runtime.getRuntime().exec("notepad");
    2.Runtime.getRuntime().exec("dir");
    the NotePad is open
    but dir command is error
    Why? How can i do?
    Who can tell me !Thank you

    I try, but!
    Exception in thread "main" java.io.IOException: CreateProcess: dir >>result.txt
    error=2
    at java.lang.Win32Process.create(Native Method)
    at java.lang.Win32Process.<init>(Win32Process.java:66)
    at java.lang.Runtime.execInternal(Native Method)
    at java.lang.Runtime.exec(Runtime.java:551)
    at java.lang.Runtime.exec(Runtime.java:418)
    at java.lang.Runtime.exec(Runtime.java:361)
    at java.lang.Runtime.exec(Runtime.java:325)
    at test13.main(test13.java:7)
    D:\program>

  • I just inherited a 64GB ipad. I have passwords for the deceased person but would like to sync it with my mac osx.  Know nothing about ipads. Help please

    I just inherited a 64 GB ipad.  I have passwords for the deceased person but would like to reset everything and start new. I use a mac/0SX but know nothing about an ipad other than turning it on.  I am in the same household as the deceased person but does not seem to be recognizing the wireless setup.  Any help would be appreciated. Any recommendations as to where to start.

    That's really enough information. You can update this iPad to iOS 6.1.2. If there is a microphone icon next to the space bar on the keyboard, you have an iPad 3. But if you are saying that it hasn't been touched for over a year, it probably is not the iPad 3. The iPad 3 is one year old this week IIRC.
    If you want, you can go to Settings >General>About>Model to find the model number and it you Google that, you can find out which version of the iPad it is.
    I just wanted to see what iOS you would be able to update to. I'm not sure what else to tell you other than what we've already stated. You should set this up as new, update the iOS and then start all over again with you own iTunes content.
    The link that Eric posted would be a good place to start so that you can get an idea of what the iPad can do. If you want to restore the iPad back to factory settings, you will need to do this with iTunes on your Mac. You must be running OS X 10.6.8 at minimum and must be using iTunes 10.6.3 (I think) in order to syn with iTunes on the Mac.
    This explains how to restore to factory settings.
    http://support.apple.com/kb/ht1414
    if you are that uncomfortable trying to do this on your own, and if there is an Apple Store near you, make an appointment at an Apple Store Genius Bar and ask an Apple tech to help you with it. That is what they do. There is no charge for an Apple Store Genius Bar visit. The stores also offer classes for the iPad that you might find useful as well.

  • Question about multiple class files

    I just started learning JAVA a couple of days ago and the first program I wrote had two classes in one file. here is the program :
    class fib_num {
    public int value;
    public boolean is_even;
    class Fibonacci {
    /** Print the Fibonacci sequence for values < MAX and mark even numbers with an asterick */
    private static final int MAX = 50;
    private static final String Title = "The Fibonacci sequence for values less than " + MAX + ":";
    private static fib_num[] fib = new fib_num[MAX];//This is actually an array of object
    //references to objects of the fib_num class
    public static void main(String[] args) {
    System.out.println(Title);
    //We must initialize each element of the array also !!!!
    for (int i = 0; i < fib.length; i += 1) {
    fib = new fib_num();
    int lo = 1, hi = 1;
    fib[0].value = lo;
    fib[0].is_even = false;
    fib[1].value = hi;
    fib[1].is_even = false;
    for (int i = 2; i < fib.length; i += 1) {
    //create the next Fibonacci number and then save the previous Fibonacci number
    hi = lo + hi;
    lo = hi - lo;
    fib.value = hi;
    //now indicate if the Fibonacci number is even/odd
    if (fib.value % 2 == 0) {
    fib.is_even = true;
    }else {
    fib.is_even = false;
    print (fib);
    //This method prints an array of Fibonacci numbers
    public static void print(fib_num[] array) {
    if (array == null || array.length == 0)
    throw new IllegalArgumentException();
    String mark;
    for (int i = 0; array.value < MAX; i += 1) {
    if (array.is_even) {
    mark = "*";
    }else {
    mark = "";
    System.out.println((i + 1) + ": " + array.value + mark);
    I ran the program and everything went fine. But today I started to write another program with two classes. However the file will not compile and I get an error about interfacing or something. here is the program:
    Note: it's not nearly complete.
    class enumerate {
    //print out all permutations of a list of integers
    public static final int MAX = 4;
    public static int[] initialize(int[] nums) {
    for (int i = 0; i < nums.length; i++) {
    nums = i + 1;
    return nums;
    public static void print(int[] nums) {
    for (int i = 0; i < nums.length; i++) {
    System.out.print(nums);
    System.out.println("");
    public static void swap (int[] nums, int i, int j) {
    int temp = nums;
    nums = nums[j];
    nums[j] = temp;
    public static void main (String[] args) {
    int[] list = new int[MAX];
    list = initialize(list);
    PermutationGenerator x = new PermutationGenerator(5);
    // Systematically generate permutations.
    import java.math.BigInteger;
    public class PermutationGenerator {
    private int[] a;
    private BigInteger numLeft;
    private BigInteger total;
    // Constructor. WARNING: Don't make n too large.
    // Recall that the number of permutations is n!
    // which can be very large, even when n is as small as 20 --
    // 20! = 2,432,902,008,176,640,000 and
    // 21! is too big to fit into a Java long, which is
    // why we use BigInteger instead.
    public PermutationGenerator (int n) {
    if (n < 1) {
    throw new IllegalArgumentException ("Min 1");
    a = new int[n];
    total = getFactorial (n);
    reset ();
    // Reset
    public void reset () {
    for (int i = 0; i < a.length; i++) {
    a = i;
    numLeft = new BigInteger (total.toString ());
    // Return number of permutations not yet generated
    public BigInteger getNumLeft () {
    return numLeft;
    // Return total number of permutations
    public BigInteger getTotal () {
    return total;
    // Are there more permutations?
    public boolean hasMore () {
    return numLeft.compareTo (BigInteger.ZERO) == 1;
    // Compute factorial
    private static BigInteger getFactorial (int n) {
    BigInteger fact = BigInteger.ONE;
    for (int i = n; i > 1; i--) {
    fact = fact.multiply (new BigInteger (Integer.toString (i)));
    return fact;
    // Generate next permutation (algorithm from Rosen p. 284)
    public int[] getNext () {
    if (numLeft.equals (total)) {
    numLeft = numLeft.subtract (BigInteger.ONE);
    return a;
    int temp;
    // Find largest index j with a[j] < a[j+1]
    int j = a.length - 2;
    while (a[j] > a[j+1]) {
    j--;
    // Find index k such that a[k] is smallest integer
    // greater than a[j] to the right of a[j]
    int k = a.length - 1;
    while (a[j] > a[k]) {
    k--;
    // Interchange a[j] and a[k]
    temp = a[k];
    a[k] = a[j];
    a[j] = temp;
    // Put tail end of permutation after jth position in increasing order
    int r = a.length - 1;
    int s = j + 1;
    while (r > s) {
    temp = a[s];
    a[s] = a[r];
    a[r] = temp;
    r--;
    s++;
    numLeft = numLeft.subtract (BigInteger.ONE);
    return a;
    I thought the error had somethin to do with only having one class per .java file since the compiler creates a .class file. But how come my first program had two classes and it was OK. Is it b/c the second class was merely a collection of fields, almost like a simple struct in C?
    Any help would be appreciated. Thanks

    Move the import java.math.BigInteger line to the start of the file.
    Use the "[ code ] [ /code ]" tags around your code when you post, it makes reading it a lot easier.

Maybe you are looking for