"Exception in thread "main" java.lang. No Class Def Found Error: Env"

iam getting this erro message when i want to run the
java program "Hello World"
"Exception in thread "main" java.lang. No Class Def Found Error: Env"
I have set environment variable for classpath and path for the jdk1.3.
It is getting compiled without any error. When i try to run it it spits this error message:
Help me......

The problem could be from several reasons.
If you're trying to run HelloWorld.java, you're class should defined as
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
This program must be in a file called HelloWorld.java
to compile-- javac HelloWorld.java
fo run--- java HelloWorld
1. The class has to be public
2. you must have a main method.
3. The file must be named the name of your class(HelloWorld) with a .java extension.
4. After you compile make sure there is a gile called HelloWorld.class in the directory you're working in
Steve

Similar Messages

  • Exception in thread "main" java.lang no class def found error

    hi,
    I am new to java. I have just started using java.I have installed jdk1.3 in my computer and tried to run the following code
    public class NumberCheck
    public static void main(String[] args)
    int number=0;
    number=1+(int)(100*Math.random());
    if(number%2==0)
    System.out.println("You have got an even number"+number);
    else
    System.out.println("You have got an odd number"+number);
    the following code compiles properly but when i use the command java NumberCheck to run the program it shows the above message that no class found error.
    As I am new to programming I dont know what to do. Can anyone please help me about it?

    The Gateway to Classpath Nirvana
    Setting the class path (Windows)
    How Classes are Found
    java -cp .;<any other directories or jars> YourClassNameYou get a NoClassDefFoundError message because the JVM (Java Virtual Machine) can't find your class. The way to remedy this is to ensure that your class is included in the classpath. The example assumes that you are in the same directory as the class you're trying to run.

  • Exception in thread "main" java.lang.IllegalStateException

    this is the code
    when i am running it i am gettinga n exception stating that
    "Exception in thread "main" java.lang.IllegalStateException: No match found
    at java.util.regex.Matcher.group(Unknown Source)
    at java.util.regex.Matcher.group(Unknown Source)
    at LinkGetter.getLinks(LinkGetter.java:36)
    at LinkGetter.main(LinkGetter.java:80) "
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.util.ArrayList;
    import java.util.List;
    import java.util.regex.*;
    //import java.util.regex.Pattern;
    public class LinkGetter{
         private static Pattern htmltag;
         private static Pattern link;
         //private final String root;
         public static List<String> getLinks(String url) {
              List<String> links = new ArrayList<String>();
              try {
                   BufferedReader bufferedReader = new BufferedReader(
                             new InputStreamReader(new URL(url).openStream()));
                   String s;
                   StringBuilder builder = new StringBuilder();
                   while ((s = bufferedReader.readLine()) != null) {
                        builder.append(s);
                   Matcher tagmatch = htmltag.matcher(builder.toString());
                   while (tagmatch.find()) {
                        Matcher m = link.matcher(tagmatch.group(1));
                        m.find();
                        String link = m.group().replaceFirst("href=\"", "").replaceFirst("\">", "");
                        if (valid(link)) {
                             links.add(makeAbsolute(url, link));
              } catch (MalformedURLException e) {
                   e.printStackTrace();
              } catch (IOException e) {
                   e.printStackTrace();
    System.out.println(links);
              return links;
         private static boolean valid(String s) {
              if (s.matches("javascript:.*|mailto:.*")) {
                   return false;
              return true;
         private static String makeAbsolute(String url, String link) {
              if (link.matches("http://.*")) {
                   return link;
              if (link.matches("/.*") && url.matches(".*$[^/]")) {
                   return url + "/" + link;
              if (link.matches("[^/].*") && url.matches(".*[^/]")) {
                   return url + "/" + link;
              if (link.matches("/.*") && url.matches(".*[]")) {
                   return url + link;
              if (link.matches("/.*") && url.matches(".*[^/]")) {
                   return url + link;
              throw new RuntimeException("Cannot make the link absolute. Url: " + url
                        + " Link " + link);
    public static void main(String args[ ])
    htmltag = Pattern.compile("<a\\s+href\\s*=\\s*\"?(.*?)[\"|>]",Pattern.CASE_INSENSITIVE );
              link = Pattern.compile("href=\"[^>]*\">");
    getLinks("http://google.com");
    can anyone one plz help me out of this

    Please use the CODE-Button when posting Code: 1. copy-and-paste your code 2. select your code 3. press "CODE" just above the text field
    Also: read the error message:
    java.lang.IllegalStateException: No match foundIt tells you that no match was found an that it happened when you called Matcher.group()
    This means that you try to call .group() although a previous .find() or .match() didn't find anything. Check that method calls return value before calling .group()

  • Exception in thread "main" java.lang.NoClassDefFoundError: Emp/class

    Dear all,
    It occur 'Exception in thread "main" java.lang.NoClassDefFoundError: Emp/class' error when I test a oracle java sample.I've already SET CLASSPATH=C:\ORACLE\JDBC\LIB\CLASSE~1.ZIP.
    following is the source code:
    import java.sql.*;
    class Emp
    public static void main (String args [])
    throws SQLException
    // Load the Oracle JDBC driver
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    // Connect to the database
    // You must put a database name after the @ sign in the connection URL.
    // You can use either the fully specified SQL*net syntax or a short cut
    // syntax as <host>:<port>:<sid>. The example uses the short cut syntax.
    Connection conn =
    DriverManager.getConnection ("jdbc:oracle:oci8:@localhost:1521:orcl",
                        "scott", "tiger");
    // Create a Statement
    Statement stmt = conn.createStatement ();
    // Select the ENAME column from the EMP table
    ResultSet rset = stmt.executeQuery ("select ENAME from EMP");
    // Iterate through the result and print the employee names
    while (rset.next ())
    System.out.println (rset.getString (1));
    Can you tell me what should also be set in classpath?
    thanks in advance.

    You are right, the program is absolutely correct and I've run it before.but why set PATH=%PATH%;C:\ORACLE\JDBC\LIB\CLASSE~1.ZIP?I don't think it is correct.
    I've ever run this jdbc program before and remeber only set classpath(path is also be set only for run executable program, for example set path=%path%;c:\j2sdk\bin),
    I think the only difference with before is:
    1,oracle version is changed from enterprise version to personal version
    2,OS is changed from NT to windows 98
    but i dont know if it lead to problem and can you give me some advice?

  • Exception in thread "main" java.lang.NoClassDefFoundError: SayHi/class

    Program - c:\jdk1.3.1_01\demo\SayHi.java
    import java.io.*;
    class SayHi
    public static void main(String[] args)
    System.out.println("hellow Worls");
    Operating Environment-
    1) New installation of Windows Advance 2000 Server. No other installatons.
    2) Installed j2sdk-1_3_1_01a-win.exe which I downloaded today.
    3) Modified path - PATH=c:\jdk1.3.1_01\bin;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem
    4 Created the above program in c:\jdk1.3.1\demo
    4a) javac SayHi.java
    4b) java SayHi.class
    ERROR MESSAGE ENCOUNTERED
    Exception in thread "main" java.lang.NoClassDefFoundError: SayHi/class
    5) I've experimented with the -classpath
    6) I've followed the installation notes for Version 1.3.1
    and searched the support site and found numerious problems in this area.
    7) I've encountered this same problem on Windows 2K Professional.
    I need some help getting the tools to work

    Try running the sample by typing:
    java SayHi
    I hope you're using a book or taking a course to learn Java. Pay attention to the details.

  • Exception in thread "main" java.lang.NoClassDefFoundError c:\MyClass/class

    i compile my java programm by typing javac c:\MyClass.java, i have 0 errors. But when i try to run the class file by typing java c:\MyClass.class i have this exception : Exception in thread "main" java.lang.NoClassDefFoundError c:\MyClass/class
    what is wrong please?

    what is wrong please? First, wrong forum. See the " New To Java Technology" forum.
    Second, you run classes not files (as the previous poster pointed out.)

  • Exception in thread "main" java.lang.NoClassDefFoundError

    Am using java 1.3.1 on Red Hat Linux 7.1
    i get this error
    Exception in thread "main" java.lang.NoClassDefFoundError
    while running a simple program HelloWorld.java
    help

    When you use the "java" command, the only required argument is the name of the class that you want to execute. This argument must be a class name, not a file name, and class names are case sensitive. For example, "java HelloWorld.java" won't work because the class name isn't HelloWorld.java, it's HelloWorld. Similarly, "java helloworld" won't work because a class defined as "public class HelloWorld {" is not named helloworld due to case sensitivity. Finally, the .class file must be in a directory that is in the Classpath - that's where java.exe searches to find the file that contains the class.

  • HELP Needed with this error:   Exception in thread "main" java.lang.NoClass

    Folks,
    I am having a problem connecting to my MSDE SQL 2000 DB on a WindowsXP pro. environment. I am learning Java and writing a small test prgm to connect the the database. The code compiles ok, but when I try to execute it i keep getting this error:
    "Exception in thread "main" java.lang.NoClassDefFoundError: Test1"
    I am using the Microsoft jdbc driver and my CLASSPATH is setup correctly, I've also noticed that several people have complained about this error, but have not seen any solutions....can someone help ?
    Here is the one of the test programs that I am using:
    import java.sql.*;
    * Microsoft SQL Server JDBC test program
    public class Test1 {
    public Test1() throws Exception {
    // Get connection
    DriverManager.registerDriver(new
    com.microsoft.jdbc.sqlserver.SQLServerDriver());
    Connection connection = DriverManager.getConnection(
    "jdbc:microsoft:sqlserver://LAPTOP01:1433","sa","sqladmin");
    if (connection != null) {
    System.out.println();
    System.out.println("Successfully connected");
    System.out.println();
    // Meta data
    DatabaseMetaData meta = connection.getMetaData();
    System.out.println("\nDriver Information");
    System.out.println("Driver Name: "
    + meta.getDriverName());
    System.out.println("Driver Version: "
    + meta.getDriverVersion());
    System.out.println("\nDatabase Information ");
    System.out.println("Database Name: "
    + meta.getDatabaseProductName());
    System.out.println("Database Version: "+
    meta.getDatabaseProductVersion());
    } // Test
    public static void main (String args[]) throws Exception {
    Test1 test = new Test1();

    I want to say that there was nothing wrong
    with my classpath config., I am still not sure why
    that didn't work, there is what I did to resolved
    this issue.You can say that all you like but if you are getting NoClassDefFound errors, that's because the class associated with the error is not in your classpath.
    (For future reference: you will find it easier to solve problems if you assume that the problem is your fault, instead of trying to blame something else. It almost always is your fault -- at least that's been my experience.)
    1. I had to set my DB connection protocol to TCP/IP
    (this was not the default), this was done by running
    the
    file "svrnetcn.exe" and then in the SQL Server Network
    Utility window, enable TCP/IP and set the port to
    1433.Irrelevant to the classpath problem.
    2. I then copied all three of the Microsoft JDBC
    driver files to the ..\jre\lib\ext dir of my jdk
    installed dir.The classpath always includes all jar files in this directory. That's why doing that fixed your problem. My bet is that you didn't have the jar file containing the driver in your classpath before, you just had the directory containing that jar file.
    3. Updated my OS path to located these files
    and....BINGO! (that simple)Unnecessary for solving classpath problems.
    4. Took a crash course on JDBC & basic Java and now I
    have created my database, all tables, scripts,
    stored procedures and can read/write and do all kinds
    of neat stuff.All's well that ends well. After a few months you'll wonder what all the fuss was about.

  • Exception in thread "main" java.lang.ClassNotFoundException: oracle.jdbc.dr

    Hi
    I am trying to use type 4 driver to connect to my Oracle 9i Rel2 database. I downloaded the odbc14.jar from oracle and added in the C:\Oracle9i\jdbc\lib path. As on the website, I setup my environment:
    Setting Up Your Environment
    On Win95/Win98/NT:
    - Add [ORACLE_HOME]\jdbc\lib\classes111.zip and
    [ORACLE_HOME]\jdbc\lib\nls_charset11.zip to your CLASSPATH.
    (Add classes12.zip and nls_charset12.zip if JDK 1.2.x or 1.3 is
    used. Add ojdbc14.jar and nls_charset12.zip if JDK 1.4 is used.)
    - Make sure [ORACLE_HOME]\bin is in your PATH.
    Still I am getting the following error during runtime:
    Exception in thread "main" java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
    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)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at jdbc.InsertQueryEx.main(InsertQueryEx.java:11)
    Below is the source code:
    import java.sql.*;
    import java.io.*;
    public class InsertQueryEx {
    public static void main(String[] args)throws Exception{
    Class.forName("oracle.jdbc.OracleDriver");
    Connection con = DriverManager.getConnection("jdbc:oracle:thin:@Prashy:1521:orcl", "scott", "tiger");
    DataInputStream din = new DataInputStream(System.in);
    Statement stmt = con.createStatement();
    while(true){
    try{
    System.out.println("enter emp name");
    String name = din.readLine();
    System.out.println("enter emp no");
    int no = Integer.parseInt(din.readLine());
    System.out.println("enter emp salary");
    float sal = Float.parseFloat(din.readLine());
    System.out.println("enter emp address");
    String addr = din.readLine();
    int count = stmt.executeUpdate("insert into myemp values("+no+",'"+name+"',"+sal+",'"+addr+"')");
    if(count>0)
    System.out.println("Record added");
    else
    System.out.println("Failed");
    catch (Exception e){
    System.err.println("Exception: "+e.getMessage());
    Any help is appreciated
    Thanks
    Prashant

    I am sorry but I did add those in the classpath but still getting this error:
    This is what I have for user variable in classpath:
    .;C:\Oracle9i\jdbc\lib\ojdbc14.jar;C:\Oracle9i\jdbc\lib\nls_charset12.jar
    error is:
    java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver
         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)
         at java.lang.Class.forName0(Native Method)
         at java.lang.Class.forName(Unknown Source)
         at jdbc.InsertQueryEx.main(InsertQueryEx.java:14)
    Thanks

  • Exception in thread "main" java.lang.VerifyError: verification failed!!

    DB:11.1.0.7
    Oracle Apps:12.1.1
    OS:RHEL Linux 4 86x64
    Hi All,
    On executing the following command on node 2 of TEST instance, we received the following error but did not find any such error messages in node 1
    Notes: (1) Node 1 has java version:
    java -version
    java version "1.6.0_10"
    Java(TM) SE Runtime Environment (build 1.6.0_10-b33)
    Java HotSpot(TM) Server VM (build 11.0-b15, mixed mode)
    (2) Node 2 has java version:
    java -version
    java version "1.4.2"
    gcj (GCC) 3.4.6 20060404 (Red Hat 3.4.6-9)
    Copyright (C) 2006 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions. There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    Error message in node2:
    On executing the following command on node 2 of TEST instance, we received the following error:
    java oracle.jrad.tools.xml.importer.XMLImporter /tmp/custdocs/oracle/apps/pos/home/webui/customizations/site/0/PosHpgOrders.xml ....
    /usr/bin/java: line 36: [: `)' expected, found -
    Exception in thread "main" java.lang.VerifyError: verification failed at PC 152 in oracle.jdbc.driver.OracleDriver:registerMBeans(()V): String, int, or float constant expected
    at JvBytecodeVerifier.verify_fail(byte, int) (/usr/lib64/libgcj.so.5.0.0)
    at JvBytecodeVerifier.verify_instructions_0() (/usr/lib64/libgcj.so.5.0.0)
    at JvVerifyMethod(_Jv_InterpMethod) (/usr/lib64/libgcj.so.5.0.0)
    at JvPrepareClass(java.lang.Class) (/usr/lib64/libgcj.so.5.0.0)
    at JvWaitForState(java.lang.Class, int) (/usr/lib64/libgcj.so.5.0.0)
    at java.lang.VMClassLoader.linkClass0(java.lang.Class) (/usr/lib64/libgcj.so.5.0.0)
    at java.lang.VMClassLoader.resolveClass(java.lang.Class) (/usr/lib64/libgcj.so.5.0.0)
    at java.lang.Class.initializeClass() (/usr/lib64/libgcj.so.5.0.0)
    at java.lang.Class.forName(java.lang.String, boolean, java.lang.ClassLoader) (/usr/lib64/libgcj.so.5.0.0)
    at oracle.adf.mds.tools.util.ConnectUtils.getDBConnection(java.lang.String) (Unknown Source)
    at oracle.jrad.tools.xml.importer.XMLImporter.importDocuments(java.lang.String[], java.sql.Connection) (Unknown Source)
    at oracle.jrad.tools.xml.importer.XMLImporter.main(java.lang.String[]) (Unknown Source)
    Could anyone please share such an issue faced before and provide resolution as to what's wrong in here in node 2?
    Thanks for your time!
    Regards,

    Hi,
    (2) Node 2 has java version:
    java -version
    java version "1.4.2"Do you run this command as applmgr user? If yes, did you source the application env file?
    Could anyone please share such an issue faced before and provide resolution as to what's wrong in here in node 2?Why the java version is different on the both nodes?
    Thanks,
    Hussein

  • Exception in thread "main" java.lang.NullPointerException

    hi
    I am new to Java, and taking an introductory course in java. I wrote the code given bellow and get following error "C:\java\assingment2>java test123
    Exception in thread "main" java.lang.NullPointerException
    at PartCatalog.Add(test123.java:56)
    at test123.main(test123.java:102)"
    Can any body help me please
    import java.util.*;
    class PartRecord
    public String PartName;
    public String PartNumber;
    public float Cost;
    public int Quantity;
    public static int counter ;
    public PartRecord()
    { PartName ="";
         PartNumber="";
    Cost = 0;
         Quantity = 0;
         counter = 0;
    public void Set(String name, final String num,
    float cost, int quantity)
         PartName = name;
    PartNumber= num;
    Cost = cost;
    Quantity = quantity;
    counter++;
    public float Get()
                   return Cost*Quantity;
    public static int Counter() {return counter;}
    class PartCatalog
    public PartCatalog()
    npart=0;
    public void Add(String name, String num,
    float cost, int quantity)
    if(npart>=1000) return;
    Parts[npart++].Set(name,num,cost,quantity);
    public float ShowInventory()
    int inventory = 0;
    for(int i=0; i<npart; i++)
    inventory+= Parts.Get();
    return inventory;
    public PartRecord[] Parts = new PartRecord[1000];
    public int npart;
    class ExtPartCatalog extends PartCatalog
    public void Sort()
    Arrays.sort(Parts);
    public void Print()
    for(int i=0; i<npart; i++)
    System.out.println ( Parts[i].PartName + "\t "
    + Parts[i].PartNumber + "\t "
    + Parts[i].Cost + "\t "
    + Parts[i].Quantity + "\n");
    class test123{
    public static void main(String args[])          
         ExtPartCatalog catalog = new ExtPartCatalog();
         catalog.Add("tire ", "1", 45, 200);
         catalog.Add("microwave", "2", 95, 10);
         catalog.Add("CD Player", "3", 215, 11);
         catalog.Add("Chair ", "4", 65, 10);
         catalog.Sort();
    catalog.Print();
    System.out.println("Inventory is " + catalog.ShowInventory());
    ExtPartCatalog catalog2 = new ExtPartCatalog();
    catalog2.Add("ttt ", "1", 45, 200);
    System.out.print("\n\nTotally there are " + PartRecord.Counter() );
    System.out.println(" Parts being set" );

    Thank you for your reply. I think i used
    public PartRecord[] Parts = new PartRecord[1000];
    so i have created the reference. I tries what you told me but it still did not work. I am putting the code again, but now in the formatted form so that you can read it more easily. I will appreciate your help. Thanks
    <code>
    import java.util.*;
    class PartRecord
    {      public String PartName;
    public String PartNumber;
    public float Cost;
    public int Quantity;
    public static int counter ;
         public PartRecord()
              PartName ="";
              PartNumber="";
              Cost = 0;
              Quantity = 0;
              //counter = 0;
         public void Set(String name, final String num,
    float cost, int quantity)
         PartName = name;
         PartNumber= num;
         Cost = cost;
         Quantity = quantity;
         counter++;
         public float Get()
         return Cost*Quantity;
         public static int Counter() {return counter;}
    class PartCatalog
    {      public PartRecord[] Parts = new PartRecord[1000];
         public int npart;
    public PartCatalog()
    npart=0;
         public void Add(String name, String num,
         float cost, int quantity)
         if(npart>=1000) return;
         Parts[npart++].Set(name,num,cost,quantity);
         public float ShowInventory()
              float inventory = 0;
              for(int i=0; i<npart; i++)
              inventory= Parts[npart].Get();
              return inventory;
    /*class ExtPartCatalog extends PartCatalog
         public void Sort()
         Arrays.sort(Parts);
         public void Print()
                   for(int i=0; i<npart; i++)
                   System.out.println ( Parts.PartName + "\t "
                                  + Parts[i].PartNumber + "\t "
                                  + Parts[i].Cost + "\t "
                             + Parts[i].Quantity + "\n");
    class azimi_a{
    public static void main(String args[])
    PartCatalog c = new PartCatalog() ;//= new PartCatalog[4];
    c.Add("tire ", "1", 45, 200);
    c.Add("microwave", "2", 95, 10);
    c.Add("CD Player", "3", 215, 11);
    c.Add("Chair ", "4", 65, 10);
    <code>

  • Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1

    hi to all.
    iam getting this error: could any one give me the solution.
    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
    at DinosaursDataLoader.getData(DinosaursDataLoader.java:49)
    at DinosaursPack.load(DinosaursPack.java:22)
    at DinosaursPack.<init>(DinosaursPack.java:18)
    at myproject.main(myproject.java:17)
    import java.util.*;
    import java.io.*;
    import javax.swing.ImageIcon;
    public class Driver {
        public static void main (String[] args) {
              // create a Scanner and grab the data . . .
                 File f=new File("C:\\Users\\hariprasad koineni\\Desktop\\r.txt");// my text file containes 12 dinosuor card info
              Scanner scanner = null;
              try {
                    scanner = new Scanner(f);
              } catch (FileNotFoundException fnf) {
                    System.out.println(fnf.getMessage());
                    System.exit(0);
            // scan file line-by-line
              scanner.useDelimiter("------------------------------------------------------------------");
              int y=0;
              while (scanner.hasNext()) {
                String line = scanner.next().trim();
                System.out.println(line);
                String bits[]= new String[19];
                String[] bit = line.split("\n");       // Regex available since Java 5
                for(int j=0;j<=(bit.length-1);j++){
                        String[] bis = bit[j].split(":");
                        System.out.println(bis[0]);
                        String t=bis[1].trim();
                        bits[j]=t;
                        System.out.println(bits[j]);
                        System.out.println(j);
                String t = bits[0];                        // title
                String imgFileName = bits[1];          // image file name
                float  h = Float.parseFloat(bits[2]);    // height
                String  w = bits[3];    // weight
                String  l = bits[4];    // length
                int  kr = Integer.parseInt(bits[5]);    // killer rating
                String  i = bits[6];     // intelligence
                int  a = Integer.parseInt(bits[7]);     // age
                String df = bits[8];                      // dino file
                // create the image
               y++;
             System.out.println(line);
             System.out.println(y);
    }

    h_koineni wrote:
    sorry
    iam getting the error:
    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
    at Driver.main(Driver.java:38)So meaning this line cause the exception:
    String t=bis[1].trim(); // hard-coded int literal 1That happens because, in line 36,
    String[] bis = bit[j].split(":");What will happen if the delimiter ':' is not found? It will return an array with a size of 1, and at this time referencing index 1 is out of bound, remember that the upper bound of an array is its size-1. One workaround is to put a selection structure after line 36.
    if (bis != null && bis.length == 2) {
        String t=bis[1].trim();
        bits[j]=t;
    }Then, recompile your code and try again.

  • Exception in thread "main" java.lang.NumberFormatException:For input String

    this is a code about arrylist. but when I debug it.it metion:Exception in thread "main" java.lang.NumberFormatException:For input String at java.lang.NumberFormatException.forInputString(numberFomatExceptionio java:48)
    at java.lang.Integer.parseInt(integer.java:468)
    at java.lang.Integer.parseInt(integer.java:497)
    at Get.getInt(manerger.java:208)
    at LinkList.insertFirst(manager.java:94)
    at manager.main(manager.java;20)
    this is my code:
    import java.io.*;
    import java.lang.*;
    public class manager
         public static void main(String args[]) throws IOException
         LinkList list=new LinkList();
         System.out.println("input S can scan the grade\ninput D can delete one entry\ninput U can update the entry\ninput A can add one entry\ninput E can end");
         int cr=System.in.read();
    switch(cr)
         case 'A':
         list.insertFirst();break;//this is 20 row
         case 'S':
         System.out.println("input the s");break;
         case 'D':
         System.out.println("input the d");break;
         case 'U':
         System.out.println("input the u");break;
    class Link
    public int number;
    public String name=new String();
    public int chs;
    public int eng;
    public int math;
    public Link next;
    public Link(int number,String name, int chs,int eng,int math)
    this.number=number;
    this.name=name;
    this.chs=chs;
    this.eng=eng;
    this.math=math;
    public Link()
         this(0,"",0,0,0);
    public void displayLink()
    System.out.println(number + " "+name+ " "+chs+ " "+eng+ " "+math+ " ");
    class LinkList
    public Link first;
    public LinkList()
    first = null;
    public boolean isEmpty()
    return first==null;
    public void displayList()
         System.out.println("");
         Link current=first;
         while(current!=null)
              current.displayLink();
              current=current.next;
         System.out.println("");
    public Link insertFirst() throws IOException
         Get getdata=new Get();
         int number=getdata.getInt();//this is 94 row
         String name=getdata.getString();
         int chs=getdata.getInt();
         int eng=getdata.getInt();
         int math=getdata.getInt();
         Link newLink = new Link(number,name,chs,eng,math);
         first=newLink;
         return first;
    public Link find(int key)
         Link current=first;
         while(current.number!=key)
              if(current.next==null)
              return null;
              else
              current=current.next;
         return current;
    public Link update(int key) throws IOException
         Link current=first;
         while(current.number!=key)
         if(current.next==null)
         return null;
         else
              System.out.println("Input the first letter of the subject:");
         int c=System.in.read();
         Get get=new Get();
              switch(c)
                   case 'c':
                   current.chs=get.getInt();break;
                   case 'e':
                   current.eng=get.getInt();break;
                   case 'm':
                   current.math=get.getInt();break;
         return current;
    public float average(char key)
         Link current=first;
         float total=0;
         float average=0;
         float counter=0;
         if(current==null)
         return 0;
         while(current!=null)
              switch(key)
                   case 'c':
                   total=current.chs+current.next.chs;break;
                   case 'e':
                   total=current.eng+current.next.eng;break;
                   case 'm':
                   total=current.math+current.next.math;break;
              current=current.next.next;
              counter++;
         average=total/counter;
         return average;
    public Link delete(int key)
         Link current=first;
         Link previous=first;
         while(current.number!=key)
              if(current.next==null)
              return null;
              else
                   previous=current;
                   current=current.next;
              if(current==first)
              first=first.next;
              else
              previous.next=current.next;
              return current;
    class Get
    public static String getString() throws IOException
    System.out.println("Input your name:");
    InputStreamReader str = new InputStreamReader(System.in);
    BufferedReader br = new BufferedReader(str);
    String s = br.readLine();
    return s;
    public static int getInt() throws IOException
    System.out.println("Input your data:");
    String st = getString();
    return Integer.parseInt(st);//this is 208 row
    }

    It may be that the code in getString() returns a
    String that ends with a newline. If that is the
    problem, you can use
    return (Integer.parseInt(st)).trim();1. getString will never return a String ending in newline. BufferedReader.readLine strips off the newline.
    2. Even if you had a newline, String.trim doesn't trim newlines.
    3. You would need to trim the String, not the int:
    return (Integer.parseInt(st.trim()));As JimDinosaur said, you are passing bad data (the value of "st").
    In getInt, add this before trying to parse "st":
    System.out.println("###"+st+"###");What does it print?

  • Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5

    I am getting error:
    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
    Pls tell me where I am wrong:
    import javax.swing.JOptionPane;
    import java.io.File;
    import java.io.*;
    import java.io.IOException;
    import java.util.*;
    class Test {
    String lname, fname, finalLetterGrade, LetterGrade, sub1,sub2,sub3,sub4,sub5,sub;
    int testone = 0;
         int a=0,b,c,d,e, count= 0, abs = 0,j;
    int testtwo = 0;
    int testthree = 0;
    int testfour = 0;
    int testfive = 0;
    int finalExamGrade = 0;
      int i=0;
    int participation = 0;
    int lowScore = 0;
    int abs1,abs2,abs3,abs4,abs5;
    String s="absent";
    Character ch;
    String []name;   
    int []Mark;
    double finalNumericGrade = 0;
    public Test() {
    public void inputGrades()
    int input, row, col;
         Scanner scan = new Scanner(System.in);
         System.out.println("Enter the length of the square matrix: ");
         col = scan.nextInt(); 
    name = new String[col];
            Mark = new int[col];
            for(i = 0; i < col ; i++)
              name=JOptionPane.showInputDialog("Enter Student Name"+(i+1)+" Name: ");
    System.out.println(name[i]);
    for(j=0; j < col;j++)
    Mark[j]=Integer.parseInt(JOptionPane.showInputDialog("Marks "+(j+1)+" Mark: "));
    System.out.println(Mark[j]);
              System.out.println("Average-->"+getAverage());
              System.out.println("Student'-->"+toString());
    public double getAverage()
         if( Mark[0]==0 || Mark[1]==0 || Mark[2]==0 || Mark[3]==0 || Mark[4]==0)
    finalNumericGrade=((((float)(Mark[0])) + ((float)(Mark[1])) + ((float)(Mark[2])) + ((float)(Mark[3])) + ((float)(Mark[4])))/4);
    else
    finalNumericGrade=((((float)(Mark[0])) + ((float)(Mark[1])) + ((float)(Mark[2])) + ((float)(Mark[3])) + ((float)(Mark[4])))/5);;
    return finalNumericGrade;
    private String letterGrade(){
         //System.out.println(" +++ finalNumericGrade " + finalNumericGrade );
    if ((finalNumericGrade >= 3.50) & (finalNumericGrade <= 4))
    finalLetterGrade = "A";
    else
    if ((finalNumericGrade >= 2.50) & (finalNumericGrade < 3.50))
    finalLetterGrade = "B";
    else
    if ((finalNumericGrade >= 2) & (finalNumericGrade < 2.50))
    finalLetterGrade = "C";
    else
    if ((finalNumericGrade >= 1) & (finalNumericGrade < 2))
    finalLetterGrade = "D";
    else
    if (finalNumericGrade == 0)
    finalLetterGrade = "X";
    else finalLetterGrade ="Z";
    return finalLetterGrade;
    public int getAbsentee()
         if(testone == 0)
              abs1=1;
         if(testtwo == 0)
              abs2=1;
         if(testthree == 0)
              abs3=1;
         if(testfour == 0)
              abs4=1;
         if(testfive == 0)
              abs5=1;
         return abs=abs1+abs2+abs3+abs4+abs5;
    public String AbsentSub()
         if((testone < testtwo) & (testone < testthree) & (testone < testfour) & (testone < testfive))          
              sub=sub1;
         if((testtwo < testone) & (testtwo < testthree) & (testtwo < testfour) & (testtwo < testfive))
              sub=sub2;
         if((testthree < testone) & (testthree < testtwo) & (testthree < testfour) & (testthree < testfive))
              sub=sub3;
         if((testfour < testone) & (testfour < testthree) & (testfour < testtwo) & (testfour < testfive))
              sub=sub4;
         if((testfive < testone) & (testfive < testtwo) & (testfive < testthree) & (testfive < testfour))
              sub=sub5;
         return sub;
    public int getLowScore(){
    //Determine and return the lowest score
    lowScore = testone;
    if (testtwo < lowScore) lowScore = testtwo;
    if (testthree < lowScore) lowScore = testthree;
         if (testfour < lowScore) lowScore = testfour;
         if (testfive < lowScore) lowScore = testfive;
    return lowScore;
    public String toString() {
    String studentStringValue="\n\nStudent " sub1 " "+sub2+" "+sub3+" "+sub4+" "+sub5+ " Lowest Final Marks \n\n";
    studentStringValue+= name[i]+"\t";
    if(Mark[0]==0)
         studentStringValue+="" s "\t";
    else
         a=Mark[0];
         ch = new Character(((char) ((69-a))));
    studentStringValue+= Mark[0]+" "+ch+ "\t";
    if(Mark[1]==0)
         studentStringValue+="" s "\t";
    else
         b=Mark[1];
    ch = new Character(((char) ((69-b))));
    studentStringValue+= Mark[1]+" "+ch+ "\t";
    if(Mark[2]==0)
         studentStringValue+="" s "\t";
    else
         c=Mark[2];
    ch = new Character(((char) ((69-c))));
    studentStringValue+=Mark[2] +" "+ch+ "\t";
    if(Mark[3]==0)
         studentStringValue+="" s "\t";
    else
         d=Mark[3];
    ch = new Character(((char) ((69-d))));
    studentStringValue+= Mark[3] +" "+ch+ "\t";
    if(Mark[4]==0)
              studentStringValue+="" s "\t";
    else
         e=Mark[4];
    ch = new Character(((char) ((69-e))));
    studentStringValue+=Mark[4] +" "+ch+ "\t";
    try {
    BufferedWriter out = new BufferedWriter(new FileWriter(".//Marks3.txt", true));
    out.write(studentStringValue);
    out.close();
    } catch (IOException e) {
    //studentStringValue+=" " + abs + " ";
    //studentStringValue+=" " sub"\t";
    studentStringValue+=" " + finalNumericGrade + " \n\n";
    //studentStringValue+=" Final Letter Grade is: " + finalLetterGrade +"\n";
    return studentStringValue;
    }// toString
    public void printName(){
    System.out.print(" "+lname);
    System.out.print(" "+fname);
    public static void main(String[] args)
         Test s = new Test();
         s.inputGrades();
         System.out.println("Average-->" +s.getAverage());
         //System.out.println("Average-->" +s.setAverage());
         //System.out.println("Absent students in each Test-->" + s.getAbsentee());
         // s.getLowScore();
         //System.out.println("Final Letter Grade --> " + s.letterGrade());
         // s.AbsentSub();
         System.out.println(""+ s.toString());

    hi,
    I am getting error on line 232 n 339
    My error is :
    Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
    at Test.toString(Test.java:232)
    at Test.main(Test.java:339)
    my code is :
    import javax.swing.JOptionPane;
    import java.io.File;
    import java.io.*;
    import java.io.IOException;
    import java.util.*;
    class Test {
    String lname, fname, finalLetterGrade, LetterGrade, sub1,sub2,sub3,sub4,sub5,sub;
    int testone = 0;
         int a=0,b,c,d,e, count= 0, abs = 0,j,ab,abm=0,abj=0,abn=0,abd=0;
    int testtwo = 0;
    int testthree = 0;
    int testfour = 0;
    int testfive = 0;
    int finalExamGrade = 0;
      int i=0;
    int participation = 0;
    int lowScore = 0;
    int abs1,abs2,abs3,abs4,abs5;
    String s="absent";
    Character ch;
    String []name;
    String[] subj;
    int []Mark;
    double finalNumericGrade = 0;
    public Test() {
    public void inputGrades()
    int input, row, col;
         Scanner scan = new Scanner(System.in);
         System.out.println("Enter the length of Array: ");
         col = scan.nextInt(); 
    name = new String[col];
    subj = new String[5];
            Mark = new int[5];
            for(i = 0; i < col ; i++)
              name=JOptionPane.showInputDialog("Enter Student Name"+(i+1)+" Name: ");
    System.out.println(name[i]);
    for(j=0; j < 5;j++)
                        subj[j]=JOptionPane.showInputDialog("Enter Subject"+(j+1)+" Name: ");
    Mark[j]=Integer.parseInt(JOptionPane.showInputDialog("Marks "+(j+1)+" Mark: "));
                        System.out.println(subj[j]);
    System.out.println(Mark[j]);
                        System.out.println("Student'-->"+toString());
              System.out.println("Average Stu-->"+getAverage());
              getLowScore();
    public double getAverage()
         if( Mark[0]==0 || Mark[1]==0 || Mark[2]==0 || Mark[3]==0 || Mark[4]==0)
    finalNumericGrade=((((float)(Mark[0])) + ((float)(Mark[1])) + ((float)(Mark[2])) + ((float)(Mark[3])) + ((float)(Mark[4])))/4);
    else
    finalNumericGrade=((((float)(Mark[0])) + ((float)(Mark[1])) + ((float)(Mark[2])) + ((float)(Mark[3])) + ((float)(Mark[4])))/5);;
    return finalNumericGrade;
    private String letterGrade(){
         //System.out.println(" +++ finalNumericGrade " + finalNumericGrade );
    if ((finalNumericGrade >= 3.50) & (finalNumericGrade <= 4))
    finalLetterGrade = "A";
    else
    if ((finalNumericGrade >= 2.50) & (finalNumericGrade < 3.50))
    finalLetterGrade = "B";
    else
    if ((finalNumericGrade >= 2) & (finalNumericGrade < 2.50))
    finalLetterGrade = "C";
    else
    if ((finalNumericGrade >= 1) & (finalNumericGrade < 2))
    finalLetterGrade = "D";
    else
    if (finalNumericGrade == 0)
    finalLetterGrade = "X";
    else finalLetterGrade ="Z";
    return finalLetterGrade;
    /*****Java Absentee***/
    public int getAbsenteeJava()
         if((Mark[0]==0))     
              abj=abj+1;
         else
              abj=0;
              return abj;
    public void setAbsenteeJava()
              System.out.println("Absent in Java-->"+abj);
    /***Maths Absentee****/
         public int getAbsenteeMaths()
         if(Mark[1]==0)
              abm=abm+1;
         else
              abm=0;
              return abm;
         public void setAbsenteeMaths()
              System.out.println("Absent in Maths-->"+abm);
    /****Stats Absentee---*/
    public int getAbsenteeStat()
    sub3="Stats";
         if(Mark[2]==0)          
              abs=abs+1;
         else
              abs=0;
              return abs;
         public void setAbsenteeStat()
    System.out.println("Absent in Stats-->"+abs);
    /*****NEt Absentee****/
         public int getAbsenteeNet()
    sub4="Network";
         if(Mark[3]==0)          
              abn=abn+1;
         else
              abn=0;
              return abn;
    public void setAbsenteeNet()
    System.out.println("Absent in Network-->"+abn);
    /*****Database Absentee****/
         public int getAbsenteeData()
    sub5="Database";
         if(Mark[4]==0)          
              abd=abd+1;
         else
              abd=0;
              return abd;
         public void setAbsenteeData()
    System.out.println("Absent in Database-->"+abd);
    public String getLowScore(){
    //Determine and return the lowest score
    if(((subj[0].equals(sub1)) || (Mark[0]==0)))     
              sub="Java";
         else if(((subj[1].equals(sub2)) || (Mark[1]==0)))
              sub="Maths";
         else if(((subj[2].equals(sub3)) & (Mark[2]==0)))
              sub="Stats";
         else if(((subj[3].equals(sub4)) || (Mark[3]==0)))
              sub="Network";
         else if(((subj[4].equals(sub5)) || (Mark[4]==0)))
              sub="Database";
         return sub;
    public String toString() {
    String studentStringValue="\n\nStudent " subj[0] " "+subj[1]+" "+subj[2]+" "+subj[3]+" "+subj[4]+ " Lowest Final Marks \n\n";
         String nm = name[i];
    studentStringValue+= nm+"\t";
    if(Mark[0]==0)
         studentStringValue+="" s "\t";
    else
         {// 232: Line: getting ERROR here
         a=Mark[0];
         ch = new Character(((char) ((69-a))));
    studentStringValue+= Mark[0]+" "+ch+ "\t";
    if(Mark[1]==0)
         studentStringValue+="" s "\t";
    else
         b=Mark[1];
    ch = new Character(((char) ((69-b))));
    studentStringValue+= Mark[1]+" "+ch+ "\t";
    if(Mark[2]==0)
         studentStringValue+="" s "\t";
    else
         c=Mark[2];
    ch = new Character(((char) ((69-c))));
    studentStringValue+=Mark[2] +" "+ch+ "\t";
    if(Mark[3]==0)
         studentStringValue+="" s "\t";
    else
         d=Mark[3];
    ch = new Character(((char) ((69-d))));
    studentStringValue+= Mark[3] +" "+ch+ "\t";
    if(Mark[4]==0)
              studentStringValue+="" s "\t";
    else
         e=Mark[4];
    ch = new Character(((char) ((69-e))));
    studentStringValue+=Mark[4] +" "+ch+ "\t";
    //studentStringValue+=" " + abs + " ";
    studentStringValue+=" " sub"\t";
    studentStringValue+=" " + finalNumericGrade + " \n\n";
    //studentStringValue+=" Final Letter Grade is: " + finalLetterGrade +"\n";
    try {
    BufferedWriter out = new BufferedWriter(new FileWriter(".//Marks3.txt", true));
    out.write(studentStringValue);
    out.close();
    } catch (IOException e) {
    return studentStringValue;
    }// toString
    public void printName(){
    System.out.print(" "+lname);
    System.out.print(" "+fname);
    public static void main(String[] args)
         Test s = new Test();
         s.inputGrades();
         System.out.println("Average-->" +s.getAverage());
         //System.out.println("Average-->" +s.setAverage());
         s.getAbsenteeJava();
         s.setAbsenteeJava();
         s.getAbsenteeMaths();          
    s.setAbsenteeMaths();
         s.getAbsenteeStat();
         s.setAbsenteeStat();
         s.getAbsenteeNet();     
         s.setAbsenteeNet();
         s.getAbsenteeData();          
    s.setAbsenteeData();
         s.getLowScore();
         //System.out.println("Final Letter Grade --> " + s.letterGrade());
         System.out.println(""+ s.toString());

  • I get the message Exception in thread "main" java.lang.StackOverflowError

    I'm trying to make a program for my class and when I run the program I get the error Exception in thread "main" java.lang.StackOverflowError, I have looked up what it means and I don't see where in my program would be giving the error, can someone please help me, here is the program
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    // This visual application allows users to "shop" for items,
    // maintaining a "shopping cart" of items purchased so far.
    public class ShoppingApp extends JFrame
    implements ActionListener {
    private JButton addButton, // Add item to cart
    removeButton; // Remove item from cart
    private JTextArea itemsArea, // Where list of items for sale displayed
    cartArea; // Where shopping cart displayed
    private JTextField itemField, // Where name of item entered
    messageField; // Status messages displayed
    private ShoppingCart cart; // Reference to support object representing
    // Shopping cart (that is, the business logic)
    String itemEntered;
    public ShoppingApp() {
    // This array of items is used to set up the cart
    String[] items = new String[5];
    items[0] = "Computer";
    items[1] = "Monitor";
    items[2] = "Printer";
    items[3] = "Scanner";
    items[4] = "Camera";
    // Construct the shopping cart support object
    cart = new ShoppingCart(items);
    // Contruct visual components
    addButton = new JButton("ADD");
    removeButton = new JButton("REMOVE");
    itemsArea = new JTextArea(6, 8);
    cartArea = new JTextArea(6, 20);
    itemField = new JTextField(12);
    messageField = new JTextField(20);
    // Listen for events on buttons
    addButton.addActionListener(this);
    removeButton.addActionListener(this);
    // The list of items is not editable, and is in light grey (to
    // make it distinct from the cart area -- this would be done
    // better by using the BorderFactory class).
    itemsArea.setEditable(false);
    itemsArea.setBackground(Color.lightGray);
    cartArea.setEditable(false);
    // Write the list of items into the itemsArea
    itemsArea.setText("Items for sale:");
    for (int i = 0; i < items.length; i++)
    itemsArea.append("\n" + items);
    // Write the initial state of the cart into the cartArea
    cartArea.setText("No items in cart");
    // Construct layouts and add components
    JPanel mainPanel = new JPanel(new BorderLayout());
    getContentPane().add(mainPanel);
    JPanel controlPanel = new JPanel(new GridLayout(1, 4));
    controlPanel.add(new JLabel("Item: ", JLabel.RIGHT));
    controlPanel.add(itemField);
    controlPanel.add(addButton);
    controlPanel.add(removeButton);
    mainPanel.add(controlPanel, "North");
    mainPanel.add(itemsArea, "West");
    mainPanel.add(cartArea, "Center");
    mainPanel.add(messageField, "South");
    public void actionPerformed(ActionEvent e)
    itemEntered=itemField.getText();
    if (addButton==e.getSource())
    cart.addComputer();
         messageField.setText("Computer added to the shopping cart");
    public static void main(String[] args) {
    ShoppingApp s = new ShoppingApp();
    s.setSize(360, 180);
    s.show();
    this is a seperate file called ShoppingCart
    public class ShoppingCart extends ShoppingApp
    private String[] items;
    private int[] quantity;
    public ShoppingCart (String[] inputitems)
    super();
    items=inputitems;
    quantity=new int[items.length];
    public void addComputer()
    int x;
    for (x=0; "computer".equals(itemEntered); x++)
         items[x]="computer";
    please somebody help me, this thing is due tomorrow I need help asap!

    First, whenever you post, there is a link for Formatting Help. This link takes you to here: http://forum.java.sun.com/features.jsp#Formatting and tells you how to use the code and /code tags so any code you post will be easily readable.
    Your problem is this: ShoppingApp has a ShoppingCart and ShoppingCart is a ShoppingApp - that is ShoppingCart extends ShoppintApp. You are saying that ShoppingCart is a ShoppingApp - which probably doesn't make sense. But the problem is a child class always calls one of its parent's constructors. So when you create a ShoppingApp, the ShoppingApp constructor tries to create a ShoppingCart. The ShoppingCart calls its superclass constructor, which tries to create a ShoppingCart, which calls its superclass constructor, which tries to create a ShoppingCart, which...
    It seems like ShoppingCart should not extend ShoppingApp.

Maybe you are looking for