Java program compiles but failes to run

WHAT IS WRONG WITH THIS PROGRAM? It compiles;
however, when I try to run it, I get the message"
static void main not define in class car. Please help!
class Car {
int passanger;
int mpg;
int gas;
void range() {
System.out.println("Distance of =:" + mpg*gas);
class Models {
public static void main(String args[]) {
Car Toyata=new Car();
Car Mazada=new Car();
Toyata.passanger=8;
Mazada.passanger=6;
Toyata.mpg=30;
Mazada.mpg=25;
Toyata.gas=16;
Mazada.gas=17;
System.out.println("Toyata can carry" +Toyata.passanger);
Toyata.range();

The program gets compiled into two classes: Car.class & Models.class.
class Car {
int passanger;
int mpg;
int gas;
void range() {
System.out.println("Distance of =:" + mpg*gas);
class Models {
public static void main(String args[]) {
Car Toyata=new Car();
Car Mazada=new Car();
Toyata.passanger=8;
Mazada.passanger=6;
Toyata.mpg=30;
Mazada.mpg=25;
Toyata.gas=16;
Mazada.gas=17;
System.out.println("Toyata can carry" +Toyata.passanger);
Toyata.range();
java Car does not produce output because the main method is in the Models.class.
java Modelsproduces output
Toyaota can carry 8
Distance of :=480

Similar Messages

  • Program compiles, but does not run

    To: XCode Users <[email protected]>
    From: Brigit Ananya <[email protected]>
    Subject: Program compiles, but does not run
    I am trying to port a Java application from the PC to the Mac. I am using XCode and the program compiles, but it does not run.
    When I try to run the ...app, I get the message that the main class is not specified, etc.
    When I try to run the ...jar, I do not get the message that the main class is not specified, but I do get the message that there is no Manifest section for bouncycastle, etc.
    Here are the detailed messages I get in the Console when I try to run the program:
    When I try to run the ...app, I get the following message:
    1/9/09 7:21:17 AM [0x0-0x8c08c].com.AnanyaSystems.AnanyaCurves[2253] [LaunchRunner Error] No main class specified
    1/9/09 7:21:17 AM [0x0-0x8c08c].com.AnanyaSystems.AnanyaCurves[2253] [JavaAppLauncher Error] CallStaticVoidMethod() threw an exception
    1/9/09 7:21:17 AM [0x0-0x8c08c].com.AnanyaSystems.AnanyaCurves[2253] Exception in thread "main" java.lang.NullPointerException
    1/9/09 7:21:17 AM [0x0-0x8c08c].com.AnanyaSystems.AnanyaCurves[2253] at apple.launcher.LaunchRunner.run(LaunchRunner.java:112)
    1/9/09 7:21:17 AM [0x0-0x8c08c].com.AnanyaSystems.AnanyaCurves[2253] at apple.launcher.LaunchRunner.callMain(LaunchRunner.java:50)
    1/9/09 7:21:17 AM [0x0-0x8c08c].com.AnanyaSystems.AnanyaCurves[2253] at apple.launcher.JavaApplicationLauncher.launch(JavaApplicationLauncher.java:52)
    When I try to run the ...jar, I do get the following message:
    1/9/09 7:22:43 AM [0x0-0x8d08d].com.apple.JarLauncher[2262] at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374)
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] Exception in thread "main"
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] java.lang.SecurityException: no manifiest section for signature file entry org/bouncycastle/asn1/DEREnumerated.class
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] at sun.security.util.SignatureFileVerifier.verifySection(SignatureFileVerifier.java:377)
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] at sun.security.util.SignatureFileVerifier.processImpl(SignatureFileVerifier.java:231)
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] at sun.security.util.SignatureFileVerifier.process(SignatureFileVerifier.java:176)
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] at java.util.jar.JarVerifier.processEntry(JarVerifier.java:233)
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] at java.util.jar.JarVerifier.update(JarVerifier.java:188)
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] at java.util.jar.JarFile.initializeVerifier(JarFile.java:325)
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] at java.util.jar.JarFile.getInputStream(JarFile.java:390)
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] at sun.misc.URLClassPath$JarLoader$1.getInputStream(URLClassPath.java:620)
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] at sun.misc.Resource.cachedInputStream(Resource.java:58)
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] at sun.misc.Resource.getByteBuffer(Resource.java:113)
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] at java.net.URLClassLoader.defineClass(URLClassLoader.java:249)
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] at java.security.AccessController.doPrivileged(Native Method)
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] at java.lang.ClassLoader.loadClass(ClassLoader.java:316)
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280)
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    1/9/09 7:28:45 AM [0x0-0x8f08f].com.apple.JarLauncher[2277] at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374)
    I do specify the main class in both, the Manifest file and the Info.plist file, in the correct way, "package.MainClass". Is there another place where I need to specify it?
    Why do I need org/bouncycastle/asn1/DEREnumerated.class, and how would I have to specify it in Manifest?
    I also posted these questions at Mac Programming at forums.macrumors.com and at Xcode-users Mailing List at lists.apple.com/mailman/listinfo, but I did not get any answer.
    Please help! Thanks!

    There was something wrong with my Info.plist file.
    So, here is my corrected Info.plist file:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
         <key>CFBundleDevelopmentRegion</key>
         <string>English</string>
         <key>CFBundleExecutable</key>
         <string>AnanyaCurves</string>
         <key>CFBundleGetInfoString</key>
         <string></string>
         <key>CFBundleIconFile</key>
         <string>AnanyaCurves.icns</string>
         <key>CFBundleIdentifier</key>
         <string>com.AnanyaSystems.AnanyaCurves</string>
         <key>CFBundleInfoDictionaryVersion</key>
         <string>6.0</string>
         <key>CFBundleName</key>
         <string>AnanyaCurves</string>
         <key>CFBundlePackageType</key>
         <string>APPL</string>
         <key>CFBundleShortVersionString</key>
         <string>0.1</string>
         <key>CFBundleSignature</key>
         <string>ac</string>
         <key>CFBundleVersion</key>
         <string>0.1</string>
         <key>Java</key>
         <dict>
              <key>JMVersion<key>
              <string>1.4+</string>
              <key>MainClass</key>
              <string>AnanyaCurves</string>
              <key>VMOptions</key>
              <string>-Xmx512m</string>
              <key>Properties</key>
              <dict>
                   <key>apple.laf.useScreenMenuBar</key>
                   <string>true</string>
                   <key>apple.awt.showGrowBox</key>
          <string>true</string>
              </dict>
         </dict>
    </dict>
    </plist>Ok, so now I can at least run the AnanyaCurves.jar file by double-clicking on it.
    However, I still cannot run the AnanyaCurves.app file. When I double-click on it, I get the following message in the Console:
    1/11/09 5:12:26 PM [0x0-0x67067].com.apple.JarLauncher[1128]  at ananyacurves.AnanyaCurves.main(AnanyaCurves.java:1961)
    1/11/09 5:13:11 PM [0x0-0x6a06a].com.AnanyaSystems.AnanyaCurves[1137] [JavaAppLauncher Error] CFBundleCopyResourceURL() failed loading MRJApp.properties file
    1/11/09 5:13:11 PM [0x0-0x6a06a].com.AnanyaSystems.AnanyaCurves[1137] [LaunchRunner Error] No main class specified
    1/11/09 5:13:11 PM [0x0-0x6a06a].com.AnanyaSystems.AnanyaCurves[1137] [JavaAppLauncher Error] CallStaticVoidMethod() threw an exception
    1/11/09 5:13:11 PM [0x0-0x6a06a].com.AnanyaSystems.AnanyaCurves[1137] Exception in thread "main" java.lang.NullPointerException
    1/11/09 5:13:11 PM [0x0-0x6a06a].com.AnanyaSystems.AnanyaCurves[1137]  at apple.launcher.LaunchRunner.run(LaunchRunner.java:112)
    1/11/09 5:13:11 PM [0x0-0x6a06a].com.AnanyaSystems.AnanyaCurves[1137]  at apple.launcher.LaunchRunner.callMain(LaunchRunner.java:50)
    1/11/09 5:13:11 PM [0x0-0x6a06a].com.AnanyaSystems.AnanyaCurves[1137]  at apple.launcher.JavaApplicationLauncher.main(JavaApplicationLauncher.java:61)Why is it looking for the MRJApp.properties file? Isn't this outdated? Shouldn't it look for the Info.plist file? I do not have a MRJApp.properties file.
    Also, in the Run menu of my XCode project, Go, Run, and Debug are disabled, but perhaps this has to do with not being able to run the AnanyaCurves.app file.
    Thanks for your time! I really appreciate any help you can give me!

  • My program compiles but when i run it, main class cannot be found

    as you can see, my program TestMaker compiles but when i try running it i get all these errors, i have no idea what's wrong with this
    C:\Users\Student\workspace\TestMaker\src>javac TestMaker.java
    C:\Users\Student\workspace\TestMaker\src>java TestMaker 514pcp.txt
    Exception in thread "main" java.lang.NoClassDefFoundError: TestMaker
    Caused by: java.lang.ClassNotFoundException: TestMaker
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    Could not find the main class: TestMaker. Program will exit.
    C:\Users\Student\workspace\TestMaker\src>

    jgv9a wrote:
    So i try
    java -cp . TestMaker 514pcp.txt
    and get this
    C:\Users\Student\workspace\TestMaker\src>java -cp . TestMaker 514.txt
    Exception in thread "main" java.lang.NoClassDefFoundError: StdInThat means that you are using a class (StdIn), that is not on your classpath, but in some other place.
    The "-cp ." tells Java to ignore the CLASSPATH variable and just look in the current directory instead. You probably had the location of StdIn on your CLASSPATH variable.
    What you need to do in this case is to add the current directory "." to your CLASSPATH variable.
    Go [learn about the Classpath here|http://java.sun.com/javase/6/docs/technotes/tools/windows/classpath.html].

  • Old C socket program compiles, but doesn't run properly

    I have an old C program that uses sys/ipc.h to listen on ports 6666 and ports 6669 for user requests. I have determined that the
    program gets to the 'accept' call without error. The return from accept(sockfd, (struct sockaddr *) &cli_addr, &cli_addrlen) is zero
    indicating success. Nevertheless, something is wrong, because netstat -a shows nothing listening on either 6666 or 6669, and
    telnet to these two ports fails as well.
    I've compiled and run the program on Sparc 8 and 9. It is the i86pc architecture I am having a problem with. I tried having root
    run it in the global zone in order to eliminate zones as a factor with no success.
    This program also uses threads (thread.h) and rpc (rpc.h). Has anyone seen this problem? Does anyone have a suggestion?
    George

    Hi Darren:
    Thanks for your prompt supply. I saw no alternative but to start pulling the code apart and I believe I have a solution. I think big-endian as opposed to
    little-endian definitely has something to do with it.
    Here's what I had to change to make this work:
    Original Code: serv_addr.sin_port = htonl(port);
    Modified Code: serv_addr.sin_port = htons((short) port);
    Converting the port to a short seems to have fixed things. The original code converted the port to a long.

  • PLSQL compiles but doesn't run.. I've declared it everywhere but still..

    PLSQL compiles but doesn’t run.. I’ve declared it everywhere but still..
    Afternoon.. Hopefully a quick one for someone.. I’m trying to run a Concurrent Program in ORACLE Financials using a Data Template derived BI Publisher report.
    Error message received..
    SUBIXCLT module: UofS Expense Claim Tracking Report
    +--------------------------------------------------------------------------
    All Parameters: raisedby=:status=:claimant=:expense_date_from=:expense_date_to=:LP_ORDERED_BY=Expense Report Number
    Data Template Code: SUBIXCLT
    Data Template Application Short Name: PO
    Debug Flag: N
    {raisedby=, claimant=, expense_date_to=, expense_date_from=, status=, LP_ORDERED_BY=Expense Report Number}
    Calling XDO Data Engine...
    [060410_025628319][][STATEMENT] Start process Data
    [060410_025628324][][STATEMENT] Process Data ...
    [060410_025628329][][STATEMENT] Executing data triggers...
    [060410_025628329][][STATEMENT] BEGIN
    SUBIXCLT.claimant := :claimant ;
    SUBIXCLT.expense_date_from := :expense_date_from ;
    SUBIXCLT.expense_date_to := :expense_date_to ;
    SUBIXCLT.raisedby := :raisedby ;
    SUBIXCLT.status := :status ;
    SUBIXCLT.lp_ordered_by := :lp_ordered_by ;
    :XDO_OUT_PARAMETER := 1;
    END;
    l_flag Boolean;
    BEGIN
    l_flag := SUBIXCLT.BEFOREREPORT(L_ORDERED) ;
    if (l_flag) then
    :XDO_OUT_PARAMETER := 1;
    end if;
    end;
    [060410_025628356][][EXCEPTION] SQLException encounter while executing data trigger....
    java.sql.SQLException: ORA-06550: line 4, column 33:
    PLS-00201: identifier 'L_ORDERED' must be declared
    ORA-06550: line 4, column 1:
    PL/SQL: Statement ignoredThe Data Template
    The Data Template
    <?xml version="1.0" encoding="utf-8" ?>
    - <dataTemplate name="UofS_OutstandngExpenses_Report" defaultPackage="SUBIXCLT" dataSourceRef="FINDEV" version="1.0">
    - <properties>
      <property name="xml_tag_case" value="upper" />
      <property name="include_parameters" value="true" />
      <property name="debug_mode" value="on" />
      </properties>
    - <parameters>
      <parameter name="claimant" dataType="character" defaultValue="" />
      <parameter name="expense_date_from" dataType="date" defaultValue="" />
      <parameter name="expense_date_to" dataType="date" defaultValue="" />
      <parameter name="raisedby" dataType="character" defaultValue="" />
      <parameter name="status" dataType="character" defaultValue="" />
      <parameter name="lp_ordered_by" dataType="character" defaultValue="" />
      </parameters>
    - <dataQuery>
      <dataTrigger name="beforeReportTrigger" source="SUBIXCLT.BEFOREREPORT(L_ORDERED)" />
    - <sqlStatement name="Q1">
    - <![CDATA[
    SELECT DISTINCT
    erh.invoice_num,
    pap.full_name EMP_CLAIMING,
    DECODE(NVL(erh.expense_status_code, 'Not yet Submitted (NULL)'), 'CANCELLED', 'CANCELLED',
         'EMPAPPR', 'Pending Individuals Approval',      'ERROR', 'Pending System Administrator Action',
         'HOLD_PENDING_RECEIPTS     ', 'Hold Pending Receipts', 'INPROGRESS', 'In Progress', 'INVOICED', 'Ready for Payment',
         'MGRAPPR', 'Pending Payables Approval', 'MGRPAYAPPR', 'Ready for Invoicing', 'PAID', 'Paid',
         'PARPAID', 'Partially Paid',     'PAYAPPR', 'Payables Approved',     'PENDMGR', 'Pending Manager Approval',
         'PEND_HOLDS_CLEARANCE', 'Pending Payment Verification',     'REJECTED', 'Rejected',     'RESOLUTN',     'Pending Your Resolution',
         'RETURNED',     'Returned',     'SAVED',     'Saved',     'SUBMITTED',     'Submitted',     'UNUSED',     'UNUSED',
         'WITHDRAWN','Withdrawn',     'Not yet Submitted (NULL)') "EXPENSE_STATUS" ,
    NVL(TO_CHAR(erh.report_submitted_date,'dd-MON-yyyy'),'NULL') SUBMIT_DATE,
    NVL(TO_CHAR(erh.expense_last_status_date,'dd-MON-yyyy'),'NULL') LAST_UPDATE,
    erh.override_approver_name ER_Approver,
    fu.description EXP_ADMIN,
    erh.total,
    erh.description 
    FROM
    AP_EXPENSE_REPORT_HEADERS_all erh,
    per_all_people_f pap, fnd_user fu
    WHERE erh.employee_id = pap.person_id
    AND fu.user_id = erh.created_by
    AND NVL(erh.expense_status_code, 'Not yet Submitted') NOT IN  ('MGRAPPR', 'INVOICED', 'PAID', 'PARPAID')
    AND pap.full_name = NVL(:claimant, pap.full_name)
    AND TRUNC(erh.report_submitted_date) BETWEEN NVL(:expense_date_from, '01-JAN-1999') AND NVL(:expense_date_to,'31-DEC-2299')
    AND fu.description = NVL(:raisedby,fu.description)
    AND erh.expense_status_code = NVL(:status,erh.expense_status_code) &LP_ORDERED_BY
      ]]>
      </sqlStatement>
      </dataQuery>
      <dataTrigger name="beforeReportTrigger" source="SUBIXCLT.BEFOREREPORT(L_ORDERED)" />
    - <dataStructure>
    - <group name="G_XP_CLM_TRACKNG" source="Q1">
      <element name="INVOICE_NUM" value="INVOICE_NUM" />
      <element name="EMP_CLAIMING" value="EMP_CLAIMING" />
      <element name="EXPENSE_STATUS" value="EXPENSE_STATUS" />
      <element name="SUBMIT_DATE" value="SUBMIT_DATE" />
      <element name="LAST_UPDATE" value="LAST_UPDATE" />
      <element name="LP_ORDERED_BY" dataType="varchar2" value="SUBIXCLT.LP_ORDERED_BY" />
      </group>
      </dataStructure>
      </dataTemplate>The PL SQL..
    The PL SQL..
    CREATE OR REPLACE PACKAGE Subixclt IS
    L_ORDERED  VARCHAR2(50);
    RAISEDBY VARCHAR2(50);
    STATUS VARCHAR2(50);
    CLAIMANT VARCHAR2(50);
    LP_ORDERED_BY VARCHAR2(50);
    FUNCTION BEFOREREPORT(L_ORDERED IN VARCHAR2) RETURN VARCHAR2;
    EXPENSE_DATE_FROM DATE;
    EXPENSE_DATE_TO DATE;
    --RETURN VARCHAR2;
    END;
    CREATE OR REPLACE PACKAGE BODY Subixclt IS
    FUNCTION BEFOREREPORT(L_ORDERED IN VARCHAR2)RETURN VARCHAR2 IS
    BEGIN
    Fnd_File.PUT_LINE(Fnd_File.LOG,'L_ORDERED'||L_ORDERED);
    DECLARE
    LP_ORDERED_BY VARCHAR2(50);
    L_ORDERED  VARCHAR2(50);
    RAISEDBY VARCHAR2(50);
    STATUS VARCHAR2(50);
    CLAIMANT VARCHAR2(100);
    EXPENSE_DATE_FROM DATE;
    EXPENSE_DATE_TO DATE;
    BEGIN
    IF (LP_ORDERED_BY='Expense Report Number') THEN
         LP_ORDERED_BY :='order by 1 asc;';
      ELSIF (LP_ORDERED_BY='Person Claiming') THEN
         LP_ORDERED_BY :='order by 2 asc;';
      ELSIF (LP_ORDERED_BY='Submit Date') THEN
      LP_ORDERED_BY :='order by 4 asc;';
      END IF;
    RETURN(L_ORDERED);
    --RETURN NULL;
    END;
    END;
    END;Thanks for looking..
    Steven
    Edited by: Mr_Alkan on Jun 4, 2010 3:35 PM

    One has to initialise a session first for use with Oracle Apps if you want to make it run as a concurrent job.
    Any decleration within your package will not be recognised unless initialisation is sucessful.
    Investigate the built-in packages:
    FND_GLOBAL - for initialisation
    FND_SUBMIT - for setting session relevant parameters
    -- function returns true or false depending on whether the initialisation was sucessful or not
    create or replace function is_Init_OK (p_User_Name       in varchar2
                                          ,p_Responsibility  in varchar2
                                          ,p_Language        in varchar2) return boolean as
      b_Set_NLS   boolean;
      b_Set_Mode  boolean;
      r_ISet      fnd_Init := Get_Init_Set(p_User_Name, p_Responsibility);
      begin
        -- 1
        fnd_global.apps_initialize(r_ISet.User_ID, r_ISet.Resp_ID, r_ISet.App_ID);
        -- 2
        b_Set_NLS := fnd_submit.set_nls_options(p_Language);
        -- 3
        b_Set_Mode  := fnd_submit.set_mode (false);
        return (b_Set_Mode and b_Set_NLS and (    (r_ISet.Resp_ID is not null)
                                              and (r_ISet.User_ID is not null)
        exception
          when others then
            return false;
    end is_Init_OK;
    -- for example
    declare
      l_User_ID number = 'IMPORT_POST'; --- import post user
      l_Resp    number =  'Import and Posting responsibility' -- import posting responsibility
      l_Language varchar2(100) := 'AMERICAN';
      b_Init boolean := false;
      INIT_EXCEPTION exception;
    begin
      b_Init := is_Init_OK(l_User_ID, l_Resp, l_Language);
      if (not b_Init) then
        raise INIT_EXCEPTION;
      end if;
      -- conitnue with your processing
      exception 
        when others then
          when INIT_EXECPTION then
          when others then
    end;
    /

  • It compiles but can't run it!

    Hi
    I am really new to java. I got this code from net and tried to compile it. Idoes compile but when i run it , i get the messege,
    "java.lang.NoSuchMethodError: main
    Exception in thread "main" .
    Here is me code.Can someone pleaese tell me y i can't run it and how to fix it. Thanks for your time.
    import java.awt.*;
    import java.awt.event.*;
    public class calculator extends java.applet.Applet implements ActionListener {
         TextField txtTotal = new TextField("");
    Button button[] = new Button[10];
         Button divide = new Button("/");
         Button mult = new Button("*");
         Button plus = new Button ("+");
         Button minus = new Button("-");
         Button isequalto = new Button("=");
         Button clear = new Button("CA");
         double num ,numtemp ;
         int counter;
         String strnum = "",strnumtemp = "" ;
         String op = "";
         public void operation() {
         counter ++;
              if (counter == 1) {
              numtemp = num;      
              strnum = "";
              num = 0;
              }else{
              if (op == "+") numtemp += num;
              else if (op == "-") numtemp -= num;
              else if (op == "*") numtemp = numtemp * num;
              else if (op == "/") numtemp = numtemp / num;
              strnumtemp = Double.toString(numtemp);
              txtTotal.setText(strnumtemp);          
              strnum = "";
              num = 0;     
         public void init() {
         setLayout(null);
         plus.setBackground(Color.blue);
         plus.setForeground(Color.white);
    minus.setBackground(Color.blue);
         minus.setForeground(Color.white);
    divide.setBackground(Color.blue);
         divide.setForeground(Color.white);
         isequalto.setBackground(Color.blue);
         isequalto.setForeground(Color.white);
         mult.setBackground(Color.blue);
         mult.setForeground(Color.white);
         clear.setBackground(Color.blue);
         clear.setForeground(Color.red);
         for(int i = 0;i <= 9; i ++) {
              button[i] = new Button(String.valueOf(i));
              button.setBackground(Color.orange);
              button[i].setForeground(Color.blue);
         button[1].setBounds(0,53,67,53);
         button[2].setBounds(67,53,67,53);
         button[3].setBounds(134,53,67,53);
         button[4].setBounds(0,106,67,53);
         button[5].setBounds(67,106,67,53);
         button[6].setBounds(134,106,67,53);
         button[7].setBounds(0,159,67,53);
         button[8].setBounds(67,159,67,53);
         button[9].setBounds(134,159,67,53);
         for (int i = 1;i <= 9; i ++) {
              add(button[i]);
         txtTotal.setBounds(0,0,200,53);
         add(txtTotal);
         plus.setBounds(0,212,67,53);
         add(plus);
         button[0].setBounds(67,212,67,53);
         add(button[0]);
         minus.setBounds(134,212,67,53);
         add(minus);
         divide.setBounds(134,264,67,53);
         add(divide);
         isequalto.setBounds(67,264,67,53);
         add(isequalto);
         mult.setBounds(0,264,67,53);
         add(mult);
         add(clear);
         public void start() {
         for(int i = 0;i <= 9; i ++) {
              button[i].addActionListener(this);
         plus.addActionListener(this);
         minus.addActionListener(this);
         divide.addActionListener(this);
         mult.addActionListener(this);
         isequalto.addActionListener(this);
         clear.addActionListener(this);
         public void stop() {
         for(int i = 0;i <= 9; i ++) {
              button[i].addActionListener(null);
         plus.addActionListener(null);
         minus.addActionListener(null);
         divide.addActionListener(null);
         mult.addActionListener(null);
         isequalto.addActionListener(null);
         clear.addActionListener(null);
         public void actionPerformed(ActionEvent e) {
              for(int i = 0;i <= 9; i++) {
                   if (e.getSource() == button[i]) {
                   play(getCodeBase(),i + ".au");
                   strnum += Integer.toString(i);
                   txtTotal.setText(strnum);
                   num = Double.valueOf(strnum).doubleValue();
    if (e.getSource() == plus) {
              operation();
              op = "+";
              if (e.getSource() == minus) {
              operation();
              op = "-";
              if (e.getSource() == divide) {
              operation();     
              op = "/";
              if (e.getSource() == mult) {
              operation();     
              op = "*";
              if (e.getSource() == isequalto) {
              if (op == "+") numtemp += num;
              else if (op == "-") numtemp -= num;
              else if (op == "*") numtemp = numtemp * num;
              else if (op == "/") numtemp = numtemp / num;
              strnumtemp = Double.toString(numtemp);
              txtTotal.setText(strnumtemp);
              strnumtemp = "";
              numtemp = 0;
              strnum = "";
              num = 0;
              counter = 0;
              if (e.getSource() == clear) {
              txtTotal.setText("0");
              strnumtemp = "";
              numtemp = 0;
              strnum = "";
              num = 0;
              counter = 0;

    Thanks for your reply.
    Ok i used the link that you sent me and saved the following in the same directory where i have "calcultor.class".
    <HTML>
    <HEAD>
    <TITLE> A Simple Program </TITLE>
    </HEAD>
    <BODY>
    <APPLET CODE="calculator.class" WIDTH=150 HEIGHT=25>
    </APPLET>
    </BODY>
    </HTML>
    I saved it with the name "calculator.html".
    Now when in my browser i type calculator.html, nothing happens.
    I am sure i am missing something but i don't know what.Can someone please help me!
    thanks

  • Program compiles but doesn't work

    The folowing program compiles, but it doesn't work, when I type GuessingGame.play(5); into the interactions pane, I get the message
    No 'play' method in 'GuessingGame'. All my brackets line up and I can't see where the problem is. I would definitely apreciate it if you could help!
    /** Allows a user to play a number-guessing game.
    The constructor takes the integer to be guessed. */
    public class GuessingGame {
    int theNumber; //The number to be guessed by the user.
    int guessNumber; //The users guess.
    public void play(int g){
    theNumber=g;
    guessNumber = Integer.parseInt(JOptionPane.showInputDialog("Guess an integer."));
    while(guessNumber!=theNumber){
    if(guessNumber > theNumber){
    JOptionPane.showMessageDialog(null, "Your guess was too high. Guess again.");
    else if(guessNumber < theNumber){
    JOptionPane.showMessageDialog(null, "Your guess was too low. Guess again.");
    JOptionPane.showMessageDialog(null, "You're right!");

    Sorry, it's just that no-one was answering, it took over 2 hours to get a response. I finally got some help now(with the topic as 'Fun to be had by all!'), so you can now just ignore all of them.

  • How to run a standalone java program with JRC to display/run a report

    Hi All,
    I am new to this forum.
    I am trying to run a java program developed using JRC to run a report created using Crystal Report XI. I stucked because not knowing how to run that java program.
    Can anyone help me? or
    can give a simple java code to do the same.
    Thanks in advance.
    Saravanakumar.

    Hi Saravana
    For the steps to run a standalone application java program with JRC to display/run a report ,please refer the following link.
    http://support.businessobjects.com/communityCS/TechnicalPapers/cr_xi_r2_jrc_deployment.pdf.asp
    You can get the sample code for standalone/desktop applications from the following link.
    http://support.businessobjects.com/communityCS/FilesAndUpdates/crxi_r2_jrc_desktop_samples.zip.asp
    Please do revert in case of any queries.
    Thanks
    Soni

  • .java files compile but cannot execute

    Hello,-
    I have a small problem in that the compiler can find the .java file (javac javaFile.java), however the execute command (java javaFile) does not work (Exception in thread "main" java.lang.NoClassDefFoundError: javaFile). I'm using Windows Vista and JDK 1.6.0_02. Which one of the environment variables is responsible for file execution?
    Thanks beforehand, Vahagn

    @ smithberry: Now it executes! Thanks for pointing that out and apologies for not seeing the space before the filename. But how come this is at all necessary? Do I have to run all my java programs with this command from now on, including the JUnit TestCase extensions?

  • Finished writing amazing code that compiles but won't run properly

    I finished writing this code for someone and it compiles but it does not run properly. Anyone see any problems? Any help would be gladly appreciated.
    /* Program is for the Coconut Grove Palace Building. This program keeps track of the building occupants and the maintenance for each tenant using a simple menu system. */
    import java.util.Scanner;
    public class Grove {
    private static Scanner keyboard = new Scanner(System.in);
    /* Declaring values that will not change throughout the program. The plus one is so that people don't get confused */
    private static final int TOTAL_BUILDING_MAX = 16 + 1;
    private static final int TOTAL_FLOOR_MAX = 8 + 1;
    private static final int APARTMENT_MAX = 4 + 1;
    public static void main (String[] args) {
    // Declare main variable
         int cocoPalace[][] = new int[2][3];
         char menuChoice;
         int aptNumber = 0;
         int floorNumber = 0;
         int totalFloor = 0;
         int totalBuilding = 0;
    //Fill up the array with the original amount of 2 people per apartment
         for (int dex = 0; dex <3; dex++)
                   cocoPalace[0][dex] = 2;
                   cocoPalace[1][dex] = 2;     
         System.out.println("Welcome to the coconut grove palace");
    //Main part of the program that is essentially the menu screen.     
         do
              //method that calculates the maintenance that will be used several times
              double buildingMaintenance = calculateMaintenance(cocoPalace);
              //Menu System using a switch command with nested for loops and other code.
                   System.out.println("(A)partment, (B)uilding, (P)eople, E(x)it");
                   menuChoice = keyboard.nextLine().charAt(0);
                        switch (menuChoice)     
    //FIRST CASE 'A' ASK FOR THE FLOOR AND APARTMENT NUMBER AND DISPLAYS THE MAINTENANCE COST FOR IT
                   case 'a':
                   //Idiot proof 1
                   System.out.println("Please enter floor number :");
                   floorNumber = keyboard.nextInt();
                   while (floorNumber > 2)
                   System.out.println("Floor number must be between 1 and 2. Try again:");
                   floorNumber = keyboard.nextInt();
                   //Idiot proof 2               
                   System.out.println("Please enter apartmentNumber :");
                   aptNumber = keyboard.nextInt();
                   while (aptNumber > 3)
                   System.out.println("Apartment number must be between 1 and 3. Try again:");
                   aptNumber = keyboard.nextInt();
                   System.out.println("Floor number" + cocoPalace[floorNumber] + "Apartment number" + cocoPalace[floorNumber][aptNumber] + " : " + buildingMaintenance);
                   break;
    //SECOND CASE 'B' REPORTS THE OCCUPANCY AND MAINTENANCE FOR THE WHOLE BUILDING
                   case 'b':
                   for (int dex2 = 0; dex2 < 3; dex2++)
                   System.out.println("Floor number 1 Apartment number " + cocoPalace[0][dex2] + " : " + buildingMaintenance);                    
                   for (int dex3 = 0; dex3 < 2; dex3++)
                   System.out.println("Floor number 2 Apartment number " + cocoPalace[1][dex3] + " : " + buildingMaintenance);                    
                   break;
    /*THIRD CASE 'P' ALLOWS THE USER TO CHANGE THE AMOUNT OF PEOPLE IN AN APARTMENT AND RECALCULATES THE MAINTENACE. IT IS ALSO "IDIOT PROOFED" SO THAT VALUES DO NOT EXCEED THE REGULATIONS OF THE BUILDING IT SELF */
                   case 'p':
                   //Idiot proof 1
                   System.out.println("Please enter floor number : ");
                   floorNumber = keyboard.nextInt();
                   while (floorNumber > 3)
                   System.out.println("Floor number must be between 1 and 2. Try again: ");
                   floorNumber = keyboard.nextInt();
                   //Idiot proof 2               
                   System.out.println("Please enter apartment number : ");
                   aptNumber = keyboard.nextInt();
                   while (aptNumber > 4)
                   System.out.println("Apartment number must be between 1 and 3. Try again: ");
                   aptNumber = keyboard.nextInt();
                   //Idiot proof 3 with the amount of people being added at the same time.
                   System.out.println("How many people will there be : ");
                   int amountPeople = keyboard.nextInt();
                   cocoPalace[floorNumber][aptNumber] = amountPeople;
                   while (amountPeople > APARTMENT_MAX || totalBuilding > TOTAL_BUILDING_MAX || totalFloor > TOTAL_FLOOR_MAX )
              System.out.print("Too many people in building. Please try again : ");
                   amountPeople = keyboard.nextInt();
                        cocoPalace[floorNumber][aptNumber] = amountPeople;
                   break;
         while (menuChoice != 'x'|| menuChoice != 'a' || menuChoice != 'p' || menuChoice != 'b');
    //Method to calculate maintenance.
    private static double calculateMaintenance(int cocoPalace[][])
         int amountPeople = 0;
         for (int dex4 = 0; dex4 < 2; dex4++)
                   amountPeople += cocoPalace[0][dex4];
                   amountPeople += cocoPalace[1][dex4];
                   cocoPalace[0][dex4] = 2;
                   cocoPalace[1][dex4] = 2;     
              double buildingMaintenance = 5000/(amountPeople);
         return(buildingMaintenance);
    }

    ok the array problem is fixed i was having a simple "one off" mistake when accessing the array.
    As for the error that i keep getting. I honestly can't see where the problem with this is in code.
    The it cant be equalt to nothing because this is written so that it has to equal a letter before the program actually runs through everything. Thanks again for the help
    here is the error that i am getting when the program runs.
    Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 0
    at java.lang.String.charAt(String.java:558)
    at Grove.main(Grove.java:46)
    Here is the code with the new corrections.
    /* Program is for the Coconut Grove Palace Building. This program keeps track of the building occupants and the maintenance for each tenant using a simple menu system. */
    import java.util.Scanner;
    public class Grove {
    private static Scanner keyboard = new Scanner(System.in);
    /* Declaring values that will not change throughout the program. The plus one is so that people don't get confused */
    private static final int TOTAL_BUILDING_MAX = 16 + 1;
    private static final int TOTAL_FLOOR_MAX = 8 + 1;
    private static final int APARTMENT_MAX = 4 + 1;
    public static void main (String[] args) {
    // Declare main variable
         int cocoPalace[][] = new int[2][3];
         char menuChoice;
         int totalFloor = 0;
         int totalBuilding = 0;
    //Fill up the array with the original amount of 2 people per apartment
         for (int dex = 0; dex <3; dex++)
                   cocoPalace[0][dex] = 2;
                   cocoPalace[1][dex] = 2;     
         System.out.println("Welcome to the coconut grove palace");
    //Main part of the program that is essentially the menu screen.     
         do
         //Variables intialized
         int aptNumber = 0;
         int floorNumber = 0;
              //method that calculates the maintenance that will be used several times
              double buildingMaintenance = calculateMaintenance(cocoPalace);
              //Menu System using a switch command with nested for loops and other code.
                   System.out.println("(A)partment, (B)uilding, (P)eople, E(x)it");
                   menuChoice = keyboard.nextLine().charAt(0);
                        switch (menuChoice)     
    //FIRST CASE 'A' ASK FOR THE FLOOR AND APARTMENT NUMBER AND DISPLAYS THE MAINTENANCE COST FOR IT
                   case 'a':
                   //Idiot proof 1
                   System.out.println("Please enter floor number     :");
                   floorNumber = keyboard.nextInt();
                   while (floorNumber > 2)
                   System.out.println("Floor number must be between 1 and 2. Try again:");
                   floorNumber = keyboard.nextInt();
                   //Idiot proof 2               
                   System.out.println("Please enter apartmentNumber  :");
                   aptNumber = keyboard.nextInt();
                   while (aptNumber > 3)
                   System.out.println("Apartment number must be between 1 and 3. Try again:");
                   aptNumber = keyboard.nextInt();
                   System.out.println("Floor number" + cocoPalace[floorNumber] + "Apartment number" + cocoPalace[floorNumber - 1][aptNumber - 1] + "  :  " + buildingMaintenance);
                   break;
    //SECOND CASE 'B' REPORTS THE OCCUPANCY AND MAINTENANCE FOR THE WHOLE BUILDING
                   case 'b':
                   for (int dex2 = 0; dex2 < 3; dex2++)
                   System.out.println("Floor number 1 Apartment number  " + cocoPalace[0][dex2] + "  :  " + buildingMaintenance);                    
                   for (int dex3 = 0; dex3 < 2; dex3++)
                   System.out.println("Floor number 2 Apartment number  " + cocoPalace[1][dex3] + "  :  " + buildingMaintenance);                    
                   break;
    /*THIRD CASE 'P' ALLOWS THE USER TO CHANGE THE AMOUNT OF PEOPLE IN AN APARTMENT AND RECALCULATES THE MAINTENACE. IT IS ALSO "IDIOT PROOFED" SO THAT VALUES DO NOT EXCEED THE REGULATIONS OF THE BUILDING IT SELF */
                   case 'p':
                   //Idiot proof 1
                   System.out.println("Please enter floor number     : ");
                   floorNumber = keyboard.nextInt();
                   while (floorNumber > 2)
                   System.out.println("Floor number must be between 1 and 2. Try again: ");
                   floorNumber = keyboard.nextInt();
                   //Idiot proof 2               
                   System.out.println("Please enter apartment number : ");
                   aptNumber = keyboard.nextInt();
                   while (aptNumber > 3)
                   System.out.println("Apartment number must be between 1 and 3. Try again: ");
                   aptNumber = keyboard.nextInt();
                   //Idiot proof 3 with the amount of people being added at the same time.
                   System.out.println("How many people will there be : ");
                   int amountPeople = keyboard.nextInt();
                   cocoPalace[floorNumber - 1][aptNumber - 1] = amountPeople;
                   while (amountPeople > APARTMENT_MAX || totalBuilding > TOTAL_BUILDING_MAX || totalFloor > TOTAL_FLOOR_MAX  )
                          System.out.print("Too many people in building. Please try again : ");
                               amountPeople = keyboard.nextInt();
                        cocoPalace[floorNumber - 1][aptNumber - 1] = amountPeople;
                   break;
         while (menuChoice != 'x'|| menuChoice != 'a' || menuChoice != 'p' || menuChoice != 'b');
    //Method to calculate maintenance.
    private static double calculateMaintenance(int cocoPalace[][])
         int amountPeople = 0;
         for (int dex4 = 0; dex4 < 2; dex4++)
                   amountPeople += cocoPalace[0][dex4];
                   amountPeople += cocoPalace[1][dex4];
                   cocoPalace[0][dex4] = 2;
                   cocoPalace[1][dex4] = 2;     
              double buildingMaintenance = 5000/(amountPeople);
         return(buildingMaintenance);
    }

  • Compiles, but doesn't run - also objects used like arrays?

    Hello. I am a way newbie at Java, but I like it a lot. I'm using it to write a little final project for an intro CS class I'm taking. The program is a little mileage calcuator. Okay, so here's what I don't get. I started to write out the program and everything was compiling, my output and input were working. Then I started to add some classes and objects. Now it still compiles, but the command line just gives me "hit any key". None of my output or input stuff. What happened?
    While I'm at it, in C++ I would've used a little array to store a bit of data for this app. Can I use multile objects of a class and iterate through them in a for each in the same way?
    Any help much appreciated.
    Here's the code:
    //Joanna Grossman
    //mileage calculator
    //final project SWE 150
    //creates vehicle class
    class vehicle {
         int id;
         String name;
         int mpg;
    //creates different vehicle objects - may need to be changed to array
    class vehicleTypes {
         public static void main(String args[]) {
              vehicle SUV = new vehicle();
              vehicle hybrid = new vehicle();
              vehicle FordTaurus = new vehicle();
              //assigns values for cars
              SUV.id = 1;
              SUV.name = "SUV";
              SUV.mpg = 10;
              hybrid.id = 2;
              hybrid.name = "Honda Civic";
              hybrid.mpg = 50;
              FordTaurus.id = 3;
              FordTaurus.name = "Ford Taurus";
              FordTaurus.mpg = 23;
    //creates location class
    class location {
         int id;
         String name;
         int miles2Loc1;
         int miles2Loc2;
         int miles2Loc3;
    //creates location objects
    class locationObjects {
         public static void main(String args[]) {
              location Burlington = new location();
              location NewYork = new location();
              location Syracuse = new location();
              //assigns values to locations
              Burlington.id = 1;
              NewYork.id=2;
              Syracuse.id = 3;
              Burlington.name = "Burlington";
              Burlington.miles2Loc1 = 0;
              Burlington.miles2Loc2 = 308;
              Burlington.miles2Loc3 = 270;
              NewYork.name = "New York";
              NewYork.miles2Loc1 = 308;
              NewYork.miles2Loc2 = 0;
              NewYork.miles2Loc3 = 246;
              Syracuse.name = "Syracuse";
              Syracuse.miles2Loc1 = 270;
              Syracuse.miles2Loc2 = 246;
              Syracuse.miles2Loc3 = 0;
    //mainline logic
    class mileageCalculator {
         public static void main(String args[])
              throws java.io.IOException {
              char play;
              play='y';
                   System.out.println("Would you like to calculate your mileage?");
                   System.out.println("Please press \"y\" for \'yes\' or \"n\" for \'no\'\nThen Press \"Enter\"");
                   play = (char) System.in.read();
                   System.out.println("Your answer is "+play);
                   System.out.println("What is your destination?");
                   System.out.println("Press press it's number:");
                   System.out.println("1\tBurlington\n2\tNew York\n3\tSyracuse");
    }

    You're probably "running" one of the classes that doesn't produce any output. The main() method is intended to be an application's entry point, not someplace you just cram all your code. You'll want to learn about methods and how objects communicate with each other. Have a look at the following:
    The Java� Tutorial - Trail: Learning the Java Language
    Good luck!
    ~

  • Can compile but can't run....

    Last year I compiled and ran programs and applets with the Java SDK Version 1.4.0 on Windows XP. This year I am basically going thru the same motions, but now I can compile programs but not run them. The error that I get using the DOS prompt command is
    C:\VMBwork>java HelloWorld
    Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld
    I moved to a new Computer Lab over the summer, so the technicians loaded j2sdk1.4.2_04 with NetBeans IDE. I have set the path in XP to c:\j2sdk1.4.2_04\bin and the classpath to c:\Program Files\Java\j2re1.4.2_04\lib\ext. This appears to be the same set up as last year...but no java programs run.
    I even tried loading j2sdk1.4.2_05 new on my computer without Netbeans with the same path changes, but to no avail. Any suggestions? The students are really anxious to get into programming.

    C:\VMBwork>java HelloWorld
    Exception in thread "main"
    java.lang.NoClassDefFoundError: HelloWorldIs HelloWorld.class in C:\VMBwork?
    Is HelloWorld.java defined in a package?
    If answers are yes and no (respectively), you should be able to run using
    java -cp . HelloWorld>
    I moved to a new Computer Lab over the summer, so the
    technicians loaded j2sdk1.4.2_04 with NetBeans IDE. I
    have set the path in XP to c:\j2sdk1.4.2_04\bin and
    the classpath to c:\Program
    Files\Java\j2re1.4.2_04\lib\ext. ^^^^^^^^^^^^ doesn't help for classpath (it's already set this way and you can't change that).
    -Alexis
    This appears to be
    the same set up as last year...but no java programs
    run.
    I even tried loading j2sdk1.4.2_05 new on my computer
    without Netbeans with the same path changes, but to no
    avail. Any suggestions? The students are really
    anxious to get into programming.

  • Trying to get my first java program compile.

    I just iinstalled j2sdk1.4.2_05 on Wind 98 and I have set the path variable in autoexec.bat and ran the .bat.
    So, now the system recognizes the javac compiler but I am still not able to run a program Welcome.java
    I created a Welcome.java file and stored it in C:\java\Welcome.java
    I also set the sourcepath to sourcepath=c:\java; in my autoexec.bat file.
    When I compile the following way, I get the following error:
    c:\javac Welcome.java
    Error: Cannot read: Welcome.java
    Can anybody please tell me what I am doing wrong. Do i need to set any thing else.
    Radhika.

    I got it to compile and run....successfully.
    Problem was- When I created the file Welcome.java in Notepad, it created with the following extension-
    Welcome.java.txt. I renamed it to Welcome.java and it compiled and ran fine.
    Thanks,
    Radhika.

  • Dive Log Part 3 will compile but won't run

    I need help I am a newbie doing this assignment for class. I am having problems with the Dive Log part 3 tutorial parts 1 & 2 went fine but 3 has given me problems. After fixing all errors to Diver.java, Divelog.java finally compiled then I went to run it and i get a list of errorssome from Diver some from DiveLog. Any help figuring out this mystery would be helpful.

    Ah you have PPC version. Either you can keep using Firefox 3.6.* are try a third party version of Firefox 4.0.* at http://www.floodgap.com/software/tenfourfox/
    The Firefox 4.0 and newer downloads contains the 32-bit and 64-bit version for Intel at moment.

  • Unit test runs perfectly fine with NUnit but fails when run from TestExplorer

    Hello all,
    I have a TestProject, Harmony.Tests. In there, I have a method AddApplicationEvent()
    which calls another method Send(InvokeRequestMessage requestMessage) which calls a webservice (OperationHandlerBrokerWebService). 
    The code snippet looks like this. This is not the complete code but a part where we are calling the web service. It fails on the underlined Italic line of code.
    OperationHandlerBrokerWebService brokerService = new OperationHandlerBrokerWebService();
    brokerService.UseDefaultCredentials = true;
    brokerService.Url = address;
    brokerService.Timeout = timeoutInMilliseconds;
    byte[] serializedResponseMessage = brokerService.InvokeOperationHandler(serializedRequestMessage);
    The same test works and passed fine when I ran it with NUnit, but failed with following exception when I tried to run it from TestExplorer. 
    Test Name: AddApplicationEvent
    Test FullName: N4S.Harmony.Tests.CaseManagement.HarmonyFacadeTests.AddApplicationEvent
    Test Source: d:\TFS\TMW\Dev\TMWOnline\Harmony\N4S.Harmony.Tests\CaseManagement\HarmonyFacadeTests.cs : line 665
    Test Outcome: Failed
    Test Duration: 0:00:00.296
    Result Message:
    SetUp : Message returned System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentException: Invalid token for impersonation - it cannot be duplicated.
    at System.Security.Principal.WindowsIdentity.CreateFromToken(IntPtr userToken)
    at System.Security.Principal.WindowsIdentity..ctor(SerializationInfo info)
    at System.Security.Principal.WindowsIdentity..ctor(SerializationInfo info, StreamingContext context)
    --- End of inner exception stack trace ---
    at System.RuntimeMethodHandle._SerializationInvoke(Object target, SignatureStruct& declaringTypeSig, SerializationInfo info, StreamingContext context)
    at System.Reflection.RuntimeConstructorInfo.SerializationInvoke(Object target, SerializationInfo info, StreamingContext context)
    at System.Runtime.Serialization.ObjectManager.CompleteISerializableObject(Object obj, SerializationInfo info, StreamingContext context)
    at System.Runtime.Serialization.ObjectManager.FixupSpecialObject(ObjectHolder holder)
    at System.Runtime.Serialization.ObjectManager.DoFixups()
    at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize(HeaderHandler handler, __BinaryParser serParser, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
    at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream, HeaderHandler handler, Boolean fCheck, Boolean isCrossAppDomain, IMethodCallMessage methodCallMessage)
    at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream serializationStream)
    at N4S.Forms.OperationHandlerBroker.AMessage.DeserializeMessage(Byte[] serializedMessage)
    at N4S.Forms.OperationHandlerBroker.WebServiceServer.BrokerService.InvokeOperationHandler(Byte[] serializedInvokeRequestMessage)
    --- End of inner exception stack trace ---
    expected: <0>
    but was: <1>
    Result StackTrace:
    at N4S.Harmony.Tests.TestHelper.InvokeOperation(OperationHandler handler, OperationHandlerInput input, Boolean expectedToWork) in d:\TFS\TMW\Dev\TMWOnline\Harmony\N4S.Harmony.Tests\TestHelper.cs:line 136
    at N4S.Harmony.Tests.TestHelper.LoginAsUser(String username, String password) in d:\TFS\TMW\Dev\TMWOnline\Harmony\N4S.Harmony.Tests\TestHelper.cs:line 394
    at N4S.Harmony.Tests.TestHelper.Login(TestUserName requestedUser) in d:\TFS\TMW\Dev\TMWOnline\Harmony\N4S.Harmony.Tests\TestHelper.cs:line 377
    at N4S.Harmony.Tests.TestHelper.LoginAsAdvisor() in d:\TFS\TMW\Dev\TMWOnline\Harmony\N4S.Harmony.Tests\TestHelper.cs:line 230
    at N4S.Harmony.Tests.CaseManagement.HarmonyFacadeTests.Login() in d:\TFS\TMW\Dev\TMWOnline\Harmony\N4S.Harmony.Tests\CaseManagement\HarmonyFacadeTests.cs:line 76
    at N4S.Harmony.Tests.CaseManagement.HarmonyFacadeTests.SetupTest() in d:\TFS\TMW\Dev\TMWOnline\Harmony\N4S.Harmony.Tests\CaseManagement\HarmonyFacadeTests.cs:line 67
    I am not sure what causing the issue. I checked the Credentials, Windows Identity during both the test run and there is no difference. Please advise !!
    Thanks,
    Deepak

    Hi Tina,
    Thanks for your reply. 
    I do have NUnit adapter installed. I even noticed that the test runs fine with NUnit GUI and also if I run it through Resharper Test Explorer window. 
    As you can see in the image above the same test is passed when I ran it from Resharper Unit Test Explorer window but fails when I ran it from Test Explorer window. I also captured the information on fiddler. 
    There was a significant difference in the Header Content length. Also under the User-Agent property the protocol versions are different. 
    Not sure why VSTest ExecutionEngine is picking a different version.
    The UnitTest in question is calling a webservice method which in turn calls a method from another referenced project. 
    Web Service class
    using System;
    using System.Web.Services;
    using N4S.Forms.OperationHandlerBroker.Server;
    using NLog;
    namespace N4S.Forms.OperationHandlerBroker.WebServiceServer
    /// <summary>
    /// The operaton-handler broker service.
    /// </summary>
    [WebService(Description = "The N4S Forms Operation-Handler Broker Web-Service.", Name = "OperationHandlerBrokerWebService",
    Namespace = "N4S.Forms.OperationHandlerBroker.WebServiceServer")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    public class BrokerService : WebService
    { /// <summary>
    /// Calls <see cref="HandleRequest"/>. Updates performance-counters.
    /// </summary>
    /// <param name="serializedInvokeRequestMessage">the binary-serialized <see cref="InvokeRequestMessage"/></param>
    /// <returns>the binary-serialized response message</returns>
    [WebMethod(BufferResponse = true, CacheDuration = 0, Description = "Invokes the requested operation-handler and returns a binary-serialized response-message.", EnableSession = false)]
    public byte[] InvokeOperationHandler(byte[] serializedInvokeRequestMessage)
    logger.Trace(Strings.TraceMethodEntered);
    PerformanceMonitor.RecordRequestStarted();
    InvokeRequestMessage requestMessage = (InvokeRequestMessage) AMessage.DeserializeMessage(serializedInvokeRequestMessage);
    InvokeResponseMessage responseMessage;
    try
    responseMessage = HandleRequest(requestMessage);
    PerformanceMonitor.RecordSuccessfulRequest();
    catch (Exception)
    PerformanceMonitor.RecordFailedRequest();
    throw;
    finally
    PerformanceMonitor.RecordRequestEnded();
    logger.Trace(Strings.TraceMethodExiting);
    return AMessage.SerializeMessage(responseMessage);
    UnitTest snippet
    OperationHandlerBrokerWebService brokerService = new OperationHandlerBrokerWebService();
    brokerService.UseDefaultCredentials = true;
    byte[] serializedResponseMessage = brokerService.InvokeOperationHandler(serializedRequestMessage);
    Please advise.
    Thanks,
    Deepak

Maybe you are looking for

  • Problems with ABC and FOX apps

    For the past three nights, I've had problems watching shows on the ABC and FOX Now apps. I'll start a program, but then it will kick off after a few minutes and I get an error message. I can watch Netflix with no issues at all. Is anyone else having

  • I am being told I need a wpa2 password to login to wifi. .

    I am being told I need a wpa2 password to login to wifi.  The business where I am has a strong wifi And I'm using the correct password. Others here are able to log on. Why can't I? Brand new MacBook Air/snow Leopard. Any ideas? Thanks.

  • How to configure a plugged in usb device to use the winusb driver

    Hi, We have an app that uses an ANT+ USB dongle to tap into ANT+ messaging traffic and we would like to get our app up and running on the Raspberry PI running Windows 10 IoT. Using Powershell I can see that the device is recognized when plugged in: N

  • Is it possible to make a plugin api on android?

    Hello, We need to build an application that could be extended by plugins. Is it possible to do that and publish to Android handsets and TVs? Like using modules, loading them outside android's package.

  • SCCM 2012 R2 PxE can't boot - your pc need to be repired.

    Dear All, These days, I upgraded SCCM 2012 to R2 , after that PxE can't boot , and shows a blue screen that your pc need to be repired, same issue like this:http://www.gerryhampsoncm.blogspot.ie/2013/02/sccm-2012-task-sequence-fails-with-bcd.html And