Java Programming Problem
Hi all,
I was looking for this java programming problem which had to do with a large building and there was some gallons of water involved in it too somehow and we had to figure out the height of the buiding using java. This problem is also in one of the java books and I really need to find out all details about this problem and the solution. NEED HELP!!
Thanks
mac
Yes, it will. The water will drain from the bottom of
the tank until the pressure from the water inside the
tank equals the pressure from the pipe. In other
words, without a pump, the water will drain out until
there is the same amount of water in the tank as in
the pipe The water pressure depends on the depth of the water, not the volume. So once the depth of the water inside the pipe reaches the same depth as the water inside the tank it will stop flowing. This will never be above the height of the tank.
I found this applet which demonstrates our problem. If you run it you can drag the guy up to the top, when water in his hose reaches the level of the water in the tank it will stop flowing out.
Similar Messages
-
I'm doing this to practise for a competition on Tuesday, if someone can show me how it works, it would be great. I have been stuck on this for a long time. Thank you very much.
When a share of common stock of some company is sold, the capital gain (or, sometimes loss) is the difference between the share's selling price and the price originally paid to buy it. This rule is easy to understand for a single share, but if we sell multiple shares of stock bought over a long period of time, then we must identify the shares actually being sold. A standard accounting principle for identifying which shares of a stock were sold in such a case is to use a FIFO protocol (i.e., the shares sold are the ones that have been held the longest). Indeed, this is the default method built into several personal finance software packages. Note, however, that it is also possible to use a LIFO protocol (i.e., the shares sold are the ones that were most recently purchased). As an example, suppose we buy 100 shares at $20 each on day 1, 20 shares at $24 on day 2, 200 shares at $36 on day 3, and then sell 150 shares on day 4 at $30 each. Then applying the FIFO protocol means that of the 150 shares sold, 100 were bought on day 1, 20 were bought on day 2, and 30 were bought on day 3. The capital gain for the LIFO case would therefore be 100(30 - 20) + 20(36 - 30) + 30(30 - 36) or $940. Applying the LIFO protocol, on the other hand, means that of the 150 shares sold, all 150 were bought on day 3. The capital gain (or loss in this case) for the LIFO case would therefore be 150(30 - 36) or -$900.
Create a class named Stock that implements the Tradable interface:
public interface Tradable {
public void buy(int numberShares, int pricePerShare);
public void sell(int numberShares, int pricePerShare);
public int getCapitalGain();
Write a Java program that takes as input a sequence of transactions of the form:
buy x share(s) of stock y at $z each
-or-
sell x share(s) of stock y at $z each
Assume the transactions occur on consecutive days (with respect to each stock). The values of x and z are integers, and the value of y is a string representing the name of the stock. Given this input, the output should be the total capital gain (or loss) for the entire sequence (i.e., all of the activity on all of the client's stocks) using the LIFO protocol to identify shares. Assume that no more than 10 transactions occur for any given stock.
Modify your code so Stock is observable. Notifications should be sent whenever there is a negative capital gain (i.e., loss) that occurs as the result of the sale of some stock.
There are two types of observers, traders and their spouses. Create a class named Trader that implements the Observer interface. Both traders and spouses should be instances of Trader. When the trader receives a notification about a capital loss, he/she should output the string "Oh no, what is my spouse going to think!". The spouse should give his/her spouse three chances for each stock (i.e., output "That's your first chance", "That's your second chance", and then finally "That's enough of that!"). After the third chance, the spouse should stop observing the trading activity. Note that traders can observe at most 2 stocks simultaneously.
Create 5 instances of Stock and 8 instances of Trader that are inter-related and defined in the following table:
Stock Trader Spouse(s)
Microsoft Bill Linda
HP Linda Bill
IBM Joe
Dell Susy Jack
Bob
Gateway Jack Susy
Beth
Mary
Test your program on various combinations of trading activity.I'm doing this to practise for a competition on Tuesday, if someone can show me how it worksUnless I've missed something in your post, there is nothing to show. You've only posted a set of requirements. It works when someone writes code that fulfills the requirement. What are you having trouble with?
-
Multi-lingual Java program/problem
Hi,
The following program from the Sun books, is supposed to work with different languages. Except it doesn't!
It has a problem finding the Properties files (?)
It gives the following Exception:
Exception in thread "main" java.util.MissingResourceException: Can't find bundle
for base name MessagesBundle, locale en_GB
here is the Sun program:
import java.util.*;
public class I18NSample {
static public void main(String[] args) {
String language;
String country;
if (args.length != 2) {
language = new String("en");
country = new String("GB");
} else {
language = new String(args[0]);
country = new String(args[1]);
Locale currentLocale;
ResourceBundle messages;
currentLocale = new Locale(language, country);
messages =ResourceBundle.getBundle("MessagesBundle",currentLocale);
System.out.println(messages.getString("greetings"));
System.out.println(messages.getString("inquiry"));
System.out.println(messages.getString("farewell"));
and I have created several properties file (English, French, German, Arabic) as text files. Maybe I have problems with the properties files.
I have followed the steps from the Java Tutorial book from Sun.
Any help would be most welcome.
AkzFirst save a java file "MessageBundle.java" in your current directory, for the moment. Then save java files "MessagesBundle_en_GB.java", "MessagesBundle_fr_FR", "MessagesBundle_de_DE" or "MessagesBundle_ar_EG" for example. Compile them to class files.
Then try using your code with various locales. -
Hello all. I've posted for help on this exact same program before, but I'm just having a heck of a time with this.
Basically, the output should look sometime like this:
Name Item Value No.Sold Amount
Joe 1 $2.00 2 $4.00
2 $3.00 2 $6.00
Total Amount: $10.00
Then you should get an option to add another employee using sentinel controlled repetition. So far, this is the code I've got. I came up with most of it, but one of the helpful users here helped me with the rest...
import javax.swing.*;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
import java.text.NumberFormat;
import java.util.Locale;
public class Pay1 {
public static void main( String args[] )
JTextArea outputArea = new JTextArea( 20, 40 );
JScrollPane scroller = new JScrollPane( outputArea );
String header = outputArea.getText();
outputArea.setText(
"Employee \tItem \tItem Value \tNumber Sold \tDollar Amount" );
String output, employeeName, itemNumber, itemValue, numberItemsSold;
int item, sold;
double value, dollaramount;
boolean whileLoop = true;
while ( whileLoop )
employeeName = JOptionPane.showInputDialog(
"Enter an employee name" + "\nPress Enter to keep entering data"
+ "\ntype \"exit\" to quit" );
if ( employeeName.equalsIgnoreCase( "exit" ) )
break;
itemNumber = JOptionPane.showInputDialog( "Item number" );
numberItemsSold = JOptionPane.showInputDialog( "Number of items sold" );
itemValue = JOptionPane.showInputDialog( "Item value" );
item = Integer.parseInt( itemNumber );
sold = Integer.parseInt( numberItemsSold );
value = Double.parseDouble( itemValue );
NumberFormat mf = NumberFormat.getCurrencyInstance( Locale.US );
dollaramount = sold * value;
output = employeeName + "\t" + item + "\t"
+ mf.format( value ) + "\t" + sold
+ "\t" + mf.format( dollaramount );
String tmp = outputArea.getText();
outputArea.setText( tmp + "\n" + output );
JOptionPane.showMessageDialog( null, scroller, "Payroll Data",
JOptionPane.PLAIN_MESSAGE );
System.exit ( 0 );
I spoke with the instructor in the class, and thought I understood how to do this, but I really just can't get it. If I saw how somebody else did it, then I think I would understand it alot better. So anybody could please help me with this, I would sooo greatly appreciate it. Thanks in advance.yep, but slight change,
import javax.swing.*;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
import java.text.*;
import java.util.*;
public class Pay1 {
public static void main( String args[] ) {
JTextArea outputArea = new JTextArea( 20, 40 );
JScrollPane scroller = new JScrollPane( outputArea );
outputArea.setText("Employee \tItem \tItem Value \tNumber Sold \tDollar Amount");
String output, employeeName, itemNumber, itemValue, numberItemsSold;
int item, sold;
double value, dollaramount,total=0;
boolean whileLoop = true;
String prev = "";
while (whileLoop ) {
employeeName = JOptionPane.showInputDialog("Enter an employee name" +
"\nPress Enter to keep entering data" +
"\ntype \"exit\" to quit" );
if (employeeName.equalsIgnoreCase( "exit" ) ) break;
if( prev.equalsIgnoreCase( employeeName ) )
employeeName = "";
else
prev = employeeName;
itemNumber = JOptionPane.showInputDialog( "Item number" );
numberItemsSold = JOptionPane.showInputDialog( "Number of items sold" );
itemValue = JOptionPane.showInputDialog( "Item value" );
item = Integer.parseInt( itemNumber );
sold = Integer.parseInt( numberItemsSold );
value = Double.parseDouble( itemValue );
NumberFormat mf = NumberFormat.getCurrencyInstance( Locale.US );
dollaramount = sold * value;
total+=dollaramount;
String tmp = outputArea.getText();
int i=tmp.indexOf("Total Amount")-4; // get rid of total line if present
if (i<0) i=tmp.length()-1;
output = employeeName + "\t" + item + "\t" + mf.format( value ) + "\t" +
sold + "\t" + mf.format( dollaramount ) +
"\n\t\t\tTotal Amount:\t"+mf.format (total); // add total line
outputArea.setText( tmp.substring(0,i) + "\n" + output );
JOptionPane.showMessageDialog( null, scroller, "Payroll Data", JOptionPane.PLAIN_MESSAGE );
System.exit (0 );
} -
JAVA�@Program Problems�iMemory Copy�j
���L���R�[�h�����s������
The Result of Execute
��
import java.util.HashMap;
import java.util.Map;
public class Test {
* @param args
public static void main(String[] args) throws Exception{
Map map = new HashMap();
Map in1 = new HashMap();
in1.put("1", "test1");
in1.put("2", "test2");
in1.put("3", "test3");
map.put("1", in1);
Map in2 = new HashMap();
in2 = ((HashMap)map.get("1"));
map.put("2", in2);
HashMap out1 = (HashMap)map.get("1");
out1.put("2","testusotukijin");
map.put("1", out1);
System.out.println(map);
} ��RESULT�F{2={3=test3, 2=testusotukijin, 1=test1}, 1={3=test3, 2=testusotukijin, 1=test1}}
I want result of
��
RESULT�F{2={3=test3, 2=test2, 1=test1}, 1={3=test3, 2=testusotukijin, 1=test1}}�@�@�@
Help me!hi
in that program finally in1,in2,out1 has same
reference.
values "test1" "test2" "test3" (strings) will be
stored in string pool.whenever we do something in any
one object ,it will reflect in string pool
so only we are getting that resultThis has nothing to do with the string pool. It has to do with the fact that both "1" and "2" reference the same HashMap.
(S)He does the following:
HashMap map = new HashMap();
HashMap in1 = new HashMap();
// assignments into in 1
map.put("1", in1);
HashMap in2 = new HashMap();
in2 = map.get("1"); // this throws away the previously (in2) created HashMap
/* in2 now references the same HashMap as in1. Changes to the
* object (HashMap) referenced by either one of these variables
* affects the object (HashMap) referenced by both variables because
* they are THE SAME OBJECT.
*/ -
O Dear! Basic Java Programming problem!
import java.lang.*;
import java.util.*;
import java.io.*;
import java.net.*;
import java.util.Random;
public class QuizApp extends Object
public static void main(String[] argStrings) throws Exception
Random random = new Random();
int generateFirstFigure = random.nextInt(21);
int generateSecondFigure = random.nextInt(31);
int generateOperator = random.nextInt(3);
String operator = "/";
int correctAnswer = generateFirstFigure + generateSecondFigure;
if (generateOperator == 0)
operator = "+";
int correctAnswer = generateFirstFigure + generateSecondFigure;
if (generateOperator == 1)
operator = "-";
int correctAnswer = generateFirstFigure - generateSecondFigure;
if (generateOperator == 2)
operator = "/";
int correctAnswer = generateFirstFigure / generateSecondFigure;
//int correctAnswer = generateFirstFigure + operator + generateSecondFigure;
int incorrectAnswerOne = correctAnswer -2;
int incorrectAnswerTwo = correctAnswer + 1;
int incorrectAnswerThree = correctAnswer + 3;
String questionOne = "What is " + generateFirstFigure + operator + generateSecondFigure + "?";
System.out.println(questionOne);
System.out.println(incorrectAnswerThree);
System.out.println(incorrectAnswerOne);
System.out.println(correctAnswer);
System.out.println(incorrectAnswerTwo);
}Basically this code, creates 2 random characters and then allows you to either add, divide or subtract the two numbers... firstly this bit of the code doesnt work, secondly how can the user input a value (the answer) to the math's question?
Thanks for help,
Joelpractissum wrote:
dketcham, i printed out your hello world pumpkin. its a huge hit in the office!Sorry for propogating the off-topic remarks...but link to the hello world pumpkin?it was the friday coding challenge for last week:
http://forum.java.sun.com/thread.jspa?threadID=5230548&messageID=9941964#9941964
It's all about the pretty colors, and trying to squish a simple little program into a squarish-shape, so that another shape can be put within!
As you can see, I have no real programming skills, but I like pretty colors, so it's all good. -
I have a Java program problem, it's unstable and losing connection and freezing. Will an upgrade to Lion from 10.6.8 help?
thanksthey don't claim it but it is. I have never had a problem with the 2008 macbook, just the desktop. Narrowed it down to this after trying everything else speaking with Scottrade, Oracle and Apple.
I tried to downgrade but got lost at the utilitoes terminal part. any easier way? Apple wont help me downgrade through my care program and I have no idea.
Thanks -
Problem while calling a Webservice from a Stand alone java program
Hello Everyone,
I am using a java program to call a webservice as follows. For this I have generated the client proxy definition for Stand alone proxy using NWDS.
Now when I call the method of the webservice I am getting the correct result but along with the result I am getting one error and one warning message in the output.
The java code to call the webservice is as follows.
public class ZMATRDESCProxyClient {
public static void main(String[] args) throws Exception {
Z_MATRDESC_WSDService ws = new Z_MATRDESC_WSDServiceImpl();
Z_MATRDESC_WSD port = (Z_MATRDESC_WSD)ws.getLogicalPort("Z_MATRDESC_WSDSoapBinding",Z_MATRDESC_WSD.class);
String res = port.zXiTestGetMatrDesc("ABCD134");
System.out.print(res);
The result I am getting is :
Warning ! Protocol Implementation [com.sap.engine.services.webservices.jaxrpc.wsdl2java.features.builtin.MessageIdProtocol] could not be loaded (NoClassDefFoundError) !
Error Message is :com/sap/guid/GUIDGeneratorFactory
<b>Material Not Found</b> -
> This is the output of webservice method and it is right.
Can any one please let me know why I am getting the warning and error message and how can I fix this.
Thanks
AbinashHi Abinash,
I have the same problem. Have you solve that problem?
I am using a java program to call a webservice too. And I have generated the client proxy definition for Stand alone proxy using NWDS. When I call the method of the webservice I am getting the correct result but along with the result I am getting one error and one warning message in the output.
The java code to call the webservice is as follows.
MIDadosPessoaisSyncService service = new MIDadosPessoaisSyncServiceImpl();
MIDadosPessoaisSync port = service.getLogicalPort("MIDadosPessoaisSyncPort");
port._setProperty("javax.xml.rpc.security.auth.username","xpto");
port._setProperty("javax.xml.rpc.security.auth.password","xpto");
String out = port.MIDadosPessoaisSync("xpto", "xpto");
System.out.println(out);
The result I am getting is :
Warning ! Protocol Implementation [com.sap.engine.services.webservices.jaxrpc.wsdl2java.features.builtin.MessageIdProtocol] could not be loaded (NoClassDefFoundError) !
Error Message is :com/sap/guid/GUIDGeneratorFactory
<b>The result of the WS is correct!!!</b>
The Java project does not have any warning. But the stand alone proxy project has following warnings associated with it.
This method has a constructor name MIDadosPessoaisSync.java
The import javax.xml.rpc.holders is never used MIDadosPessoaisSyncBindingStub.java
The import javax.xml.rpc.encoding is never used MIDadosPessoaisSyncBindingStub.java
The constructor BaseRuntimeException(ResourceAccessor, String, Throwable) is deprecated MIDadosPessoaisSyncBindingStub.java
It is very similar with your problem, could you help me?
Thanks
Gustavo Freitas -
Problems running a java program
Hello,
I have absolutely no java experience whatsoever, and I need to fix a program that suddenly stopped running properly after several years without problems. Basically, I have a perl script that calls a java program. Everytime I run this perl script from the web browser, the java program returns an internal error:
# # HotSpot Virtual Machine Error, Internal Error # Please report this error at # http://www.blackdown.org/cgi-bin/jdk # # Error ID: 5649525455414C53504143450E4350500024 # # Problematic Thread: prio=5 tid=0x804e680 nid=0x6d16 runnable #
However, when I run the perl script command line, it runs fine. I added the -verbose option to the java call, and I discovered that the program stops running after it opens the .jar files but before it loads them .... these files have full read permissions, so I don't think that's the problem. Any ideas?
Thanks!...fix a program that suddenly stopped running properly after several years without problems.Which means either the program changed or the environment changed. I would guess the environment. The most likely possibilities: new version of the operating system, new version of perl, new version of java. Also possible: new version installed of any of the previous without removing older versions, new software not associated with the first, new mapped drives and/or changed env vars.
-
Problem in Creating New position in Siebel CRM 7.8 using java program
Hi
We have Siebel CRM with Business Object and Business Component as Position.
Position Business Component has a manadatory pick list Division.
When we try to create a new Position by picking the Divison then we are getting the below error
Logged in OK!
picking the list
in the pick() method before
<Exception>
<Major No.>256</Major No.><Minor No.>21944</Minor No.><Message>An error has occurred picking the current row.
Please continue or ask your systems administrator to check your application configuration if the problem persists.(SBL-DAT-00292)</Message><DetailedMessage>Unknown<DetailedMessage>
<Exception>
<com.siebel.om.sisnapi.i>
<Major No.>256</Major No.><Minor No.>21944</Minor No.><Message>An error has occurred picking the current row.
<Error><ErrorCode>21944</ErrorCode> <ErrMsg>An error has occurred picking the current row.
Please continue or ask your systems administrator to check your application configuration if the problem persists.(SBL-DAT-00292)</Message><DetailedMessage>Unknown<DetailedMessage>
Please continue or ask your systems administrator to check your application configuration if the problem persists.(SBL-DAT-00292)</ErrMsg></Error>
<com.siebel.om.sisnapi.i>
<Error><ErrorCode>21735</ErrorCode> <ErrMsg>Siebel eScript runtime error occurred in procedure 'BusComp_SetFieldValue' of BusComp [Position]:
<Error><ErrorCode>21944</ErrorCode> <ErrMsg>An error has occurred picking the current row.
ConversionError 1616: Undefined and Null types cannot be converted to an object.
Please continue or ask your systems administrator to check your application configuration if the problem persists.(SBL-DAT-00292)</ErrMsg></Error>
(SBL-SCR-00141)</ErrMsg></Error>
<Error><ErrorCode>21735</ErrorCode> <ErrMsg>Siebel eScript runtime error occurred in procedure 'BusComp_SetFieldValue' of BusComp [Position]:
<Error><ErrorCode>21735</ErrorCode> <ErrMsg>Stack trace:
BusComp [Position].BusComp_SetFieldValue(), Line: 1110</ErrMsg></Error>
ConversionError 1616: Undefined and Null types cannot be converted to an object.
</com.siebel.om.sisnapi.i></Exception>
(SBL-SCR-00141)</ErrMsg></Error>
<Error><ErrorCode>21735</ErrorCode> <ErrMsg>Stack trace:
BusComp [Position].BusComp_SetFieldValue(), Line: 1110</ErrMsg></Error>
</com.siebel.om.sisnapi.i></Exception>
at com.siebel.data.SiebelBusComp.pick(SiebelBusComp.java:241)
at siebelconn.main(siebelconn.java:44)
Java program
import com.siebel.data.*;
import com.siebel.data.SiebelException;
class siebelconn {
public static void main (String args [])
SiebelDataBean m_dataBean = null;
SiebelBusObject m_busObject = null;
SiebelBusComp m_busComp = null;
SiebelBusComp picklistBC = null;
try{
m_dataBean = new SiebelDataBean(); //Create Siebel JDB instance
m_dataBean.login("XXXX", "XXX", "XXX");
System.out.println("Logged in OK!");
m_busObject = m_dataBean.getBusObject("Position");
m_busComp = m_busObject.getBusComp("Position");
m_busComp.newRecord(false);
picklistBC = m_busComp.getPicklistBusComp("Division");
picklistBC.clearToQuery();
picklistBC.setViewMode(3);
picklistBC.setSearchSpec("Name", "idmtest");
//picklistBC.executeQuery(true);
picklistBC.executeQuery2(true,true);
if(picklistBC.firstRecord())
System.out.println("picking the list");
picklistBC.pick();
System.out.println("records are there");
m_busComp.setFieldValue("Name","Access GE HQ 11");
m_busComp.writeRecord();
}//if
if(m_busObject!=null)
m_busObject.release();
if(m_busComp!=null)
m_busComp.release();
if(picklistBC!=null)
picklistBC.release();
if(m_dataBean!=null)
m_dataBean.logoff();
catch(Exception e)
System.out.println(e);e.printStackTrace();
if(m_busObject!=null)
m_busObject.release();
if(m_busComp!=null)
m_busComp.release();
if(picklistBC!=null)
picklistBC.release();
try
if(m_dataBean!=null)
m_dataBean.logoff();
}catch(Exception e1){System.out.println(e1);}
Can any body please help us.
ThanksFrom the error code, it looks like you have a scripting error in the BusComp_SetFieldValue event on the Position
business component in your application.
Have you tried to look at that code or to turn of scripting for the application as a total?
Axel -
Please help me in this tough problem in Java...im just new in Java program
my teacher give this as a problem. so tough. we are just starting and we are now in control structures. please help me to finish this problem. And my problem is...
Write an astrology program. The user types in his or her birthday(month,day,year),
and the program responds with the user's zodiac sign, the traits associated with each sign
the user's age(in years,months,day), the animal sign for the year(e.g., Year of the Pig,
Year of the Tiger), the traits associated with each animal sign, and if the year is a leap
year or not. The dates covered for each sign can be searched through the horoscope section
of a newspaper or through the internet. Then enhance your program so that if the user is one
or two days away from the adjacent sign, the program outputs the nearest adjacent sign as well
as the traits associated with the nearest sign. The month may be entered as a number from 1 to 12
or in words, i.e.,January to December. Limit the year of the birthday from 1900 to 2010 only.
The program should allow the user to repeat the entire process as often as desired.
You can use:
import java.text.DateFormat;
import java.util.Date;
import java.util.Calendar;
please...those who are genius out there in java program...help us to pass this project. Im begging! thanks!Frowner_Stud wrote:
According to the second commandment: Thou shall not use the name of the Lord in vain.Is this not the definition of ironic, Mr. Morality?
i am not cheating. And more of the same.
we all know that an assignment is an assignment. a homework. homework means you can raise other help from somebody so that you will know the answer.You're not asking for "help" bucko, because you've been given decent help but have chosen to ignore it. No, you're asking for someone to do the work for you, and you may call it what you want, but in anyone else's book, that's cheating.
dont be fool enough to reply if you dont know the reason why i am typing here Don't be fool enough to think that you can control who can or can't respond.
because if you are in my part and if i know the answer there is no doubt that i will help you as soon as possible! Just because you have low morals doesn't mean that the rest of us do.
Thanks for time of reading and God bless you including you family!and to you and yours. Have a blessed day. -
Execute an external java program with Runtime, problem with classpath
Hi,
I m calling an external java program by the command:
Runtime.getRuntime().exec("java -classpath \"library/*\" org.mypackage.TestMainProgram param1 c:/input/files c:/output/files");All my classes are stored in the relative directory "library", and it contains ONLY .jar files. However, I keep getting errors like:
"java.lang.NoClassDefFoundError: library/antlr/jarCaused by: java.lang.ClassNotFoundException: library.antlr.jar at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:252) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)Could not find the main class: library/antlr.jar. Program will exit.Exception in thread "main" where "antlr.jar" is a jar file in "library". It is there but still the program keeps complaining it cannot be found. The problem applies to any jars in "library", ie.., if i have "mylib.jar" then it will complain "NoClassDefFoundError: library/mylib/jar".
Could anyone give some pointers please?
Many thanks!
Edited by: 836590 on 14-Feb-2011 09:03836590 wrote:
Hi,
I m calling an external java program by the command:
Runtime.getRuntime().exec("java -classpath \"library/*\" org.mypackage.TestMainProgram param1 c:/input/files c:/output/files");All my classes are stored in the relative directory "library", and it contains ONLY .jar files. However, I keep getting errors like:
"java.lang.NoClassDefFoundError: library/antlr/jarCaused by: java.lang.ClassNotFoundException: library.antlr.jar at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:252) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)Could not find the main class: library/antlr.jar. Program will exit.Exception in thread "main" where "antlr.jar" is a jar file in "library". It is there but still the program keeps complaining it cannot be found. The problem applies to any jars in "library", ie.., if i have "mylib.jar" then it will complain "NoClassDefFoundError: library/mylib/jar".
Could anyone give some pointers please?
Many thanks!
Edited by: 836590 on 14-Feb-2011 09:03First, if you run from the command line
java -classpath "library/*" org.mypackage.TestMainProgram param1 c:/input/files c:/output/filesfrom the parent directory of library, does it work?
Despite what I said to Kayaman about Runtime.exec not expanding the asterisk, it looks like that's what's happening, so that you're getting
java -claspath library/aaaa_something_before_antlr.jar library/antlr.jar library/bbb.jar library/ccc.jar org.mypackage.TestMainProgram param1 c:/input/files c:/output/filesThat is, it *is* expanding the asterisk to a list of files in the directory, and the first one is being taken as the classpath, and the second one--library/antlr.jar is being taken as the class to execute. I'm certain this doesn't happen on Linux, so it must be a Windows thing.
Two suggestions:
1) Try single quotes instead of double.
2) Try the exec that takes an array
Runtime.getRuntime().exec(new String[] {"java", "-classpath", "'library/*'", "org.mypackage.TestMainProgram", "param1", "c:/input/files", "c:/output/files");Edited by: jverd on Feb 14, 2011 9:41 AM -
Problem with running java program
Hey again!
I missed out some information in last posting.. here is the full description
I have just installed 1.5.0_06 and have set paths and what otherwise is necessary to run the java programs. I was testing the install and run a standard HelloWorld.java program
I got the following error:
Exception in thread main java.lang.NoClassDefFoundError: HelloWorld
what is wrong...
Here is the entire HelloWorld.java
public class HelloWorld
public HelloWorld()
System.out.println("Hello World");
public static void main(String[] args)
HelloWorld hw = new HelloWorld();
I have checked that the path is correct too..
Hopefully someone can help me!
AndersYour Path is set, probably the problem is classpath.
Change the cmd/command prompt to the directory that contains your HelloWorld.class file, verifying that it exists. If it does, issue this command from that directory:
java -cp . HelloWorld
Important: include the period and surrounding spaces
If that works, you can learn about setting and using the classpath here:
http://java.sun.com/j2se/1.5.0/docs/tooldocs/index.html#general
By the way, just add a reply to your original post with the additional information, rather than creating another post. That eliminates duplication of replies. -
Typical problem in java program ?
Typical problem in java program ?
I have three java files , i am pasting them here. Please show me the errors. Compilation error in Cat.java
File 1 : Dog.java
public class Dog extends Animal {
public String noise() { return "back"; }
File 2 : Cat.java
public class Cat extends Animal {
public String noise() {
return "meow";
File 3:AnimalTest.java
public class AnimalTest {
public static void main(String[] args)
Animal animal = new Dog();
//Cat cat = (Cat)animal;
Cat cat = new Cat();
System.out.println(cat.noise()...
Output :
D:\>javac AnimalTest.java
.\Cat.java:4: illegal start of expression
^
.\Cat.java:5: ';' expected
^
.\Cat.java:5: '}' expected
^
3 errors
Please help me. Not a homework.
Message was edited by:
TatonD:\>javac AnimalTest.java
.\Cat.java:4: illegal start of expression
^You really need to start to understand what you are doing. Look at the error, it even points to what the error is. Look at where this bracket appears in your code and think to yourself "Should that be there or should it be something else" Once you fix that, the other errors will probably disappear.
Stoopid lag.
Message was edited by:
flounder -
Problem when Running a java program
I am new to Java. I have installed JDK 1.3.1 on my machine. have setup the class path also. My program complies fine but when i am running it I am getting the following error.
Exception in thread "main" java.lang.NoClassDefFoundError: InsertSuppliers
Press any key to continue . . .
I am pasting my java program underneath. Can anybody please help me?
import java.sql.*;
import java.lang.*;
import java.util.*;
import java.io.*;
public class InsertSuppliers
public static void main(String[] args)
throws IOException
System.out.println("iuysuiysuidyfsduyf");
String url = "jdbc:odbc:CafeJava";
Connection con;
Statement stmt;
String query = "select SUP_NAME, SUP_ID from SUPPLIERS";
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch(java.lang.ClassNotFoundException e) {
System.err.print("ClassNotFoundException: ");
System.err.println(e.getMessage());
try {
con = DriverManager.getConnection(url,
"Admin", "duke1");
stmt = con.createStatement();
stmt.executeUpdate("insert into SUPPLIERS " +
"values(49, 'Superior Coffee', '1 Party Place', " +
"'Mendocino', 'CA', '95460')");
stmt.executeUpdate("insert into SUPPLIERS " +
"values(101, 'Acme, Inc.', '99 Market Street', " +
"'Groundsville', 'CA', '95199')");
stmt.executeUpdate("insert into SUPPLIERS " +
"values(150, 'The High Ground', '100 Coffee Lane', " +
"'Meadows', 'CA', '93966')");
ResultSet rs = stmt.executeQuery(query);
System.out.println("Suppliers and their ID Numbers:");
while (rs.next()) {
String s = rs.getString("SUP_NAME");
int n = rs.getInt("SUP_ID");
System.out.println(s + " " + n);
stmt.close();
con.close();
} catch(SQLException ex) {
System.err.println("SQLException: " + ex.getMessage());
}Your error occurs because java can not find a file named InsertSuppliers.class in the Classpath. there are 3 basic ways to make this work. Assume you compiled InsertSuppliers so that the InsertSuppliers.class file is in a directory c:\myjava (I am assuming Windows).
1. Do not set your System Classpath. CD to the c:\myjava directory. Enter "java InsertSuppliers"
2. Set your System Classpath = .;c:\myjava and enter "java InsertSuppliers" from any directory.
3. Enter "java -classpath c:\myjava InsertSuppliers" from any directory.
Of course, none of these will work if InsertSuppliers.class file doesn't exist in c:\myjava. And remember that class names are case sensitive.
Maybe you are looking for
-
Automation testing with Mosaic
I have been trying to get automation testing to work with Mosaic. Is it possible to Composite Application Framework applications to work with automation? I have compiled the automation libraries into my tiles. But I can't tell how to switch automatio
-
How open a report with Viewer 2008 without using Visual Studio and Java
Hi, There is a way to open a report (with parameters) save in a web server with Crystal Report Viewer 2008 without using Visual Studio or Java ? I've an asp page and i want to open this report using some command (I know asp, vbscript and html) In the
-
Management on 4507R+E with dual SUP7L-E setup
Hello, I help manage the devices at the company I work for. We bought and setup two 4507s, per the title, about a year ago. I notice that when the first card fails over (testing, not actual failure) I cannot get management from the 'Fa1' port that
-
Recover Windows 8 activation code with a crashed drive
I have checked the other posts but I can't find this issue. My friend has an HP 2000 (no other numbers or serial numbers anywhere.) Her drive crashed and burned. It won't work in any computer or my docking station. It just clicks for a while and
-
Why do some versions of Flash Player require a new DMG to be downloaded through a web browser?
Why do some versions of Adobe Flash Player require a new DMG on OS X to be downloaded through a web browser? It is an annoyance to users to have to go through downloading a new DMG and installing through this method. Why can this not be an in-place d