Having trouble compiling my java project. Help?

In summary, the conversation includes the speaker explaining their project on compiling and using tutorialspoint.com to do so. They also mention an error they are receiving and ask for help as they are new to Java. The conversation then shifts to discussing different classes and main methods, and the confusion surrounding them. The expert suggests using an IDE like Eclipse for compiling multiple programs at once.
  • #1
MarcL
170
2
Hey so I have to compile a project... there are two parts to it, one where I just have to display a series of sentence and another one a bit more complicated... I am using tutorialspoint.com because I don't have any compiler on the desktop at school :/ It is unfortunately giving me this error:

"sh-4.2# javac HelloWorld.java
javac: file not found: HelloWorld.java
Usage: javac <options> <source files>
use -help for a list of possible options"

However, when I compiled my first program ( the one that I'll post afterwards,) it compiled fine on its own. Any help? ( I started java 2 weeks ago, so many stupid errors might be included, sorry !)

Code:
import java.util.Scanner;

 public class SongsAndApps{

  public static void main(String []args){
  
  Scanner prePay = new Scanner(System.in);
  
   int songBuy , appBuy1, appBuy, songBuy1 ;
  
   Double moneyOnCard, moneyLeft, moneyLeft2, moneyLeft3, moneyLeft4;
  
   final int appCost=3 , songCost= 7;
  
  System.out.println("Please input the amount of money on your card");
  moneyOnCard = prePay.nextDouble();
                   //Determine how much there is on the card from the user
  songBuy =  (int)(moneyOnCard / songCost) ;
                 //Determines how much song the user is able to buy
  appBuy  = (int)(moneyOnCard / appCost) ;
                 //Opposite of last equation, allows to know how much apps can be bought
  System.out.println("You can buy a maximum of " + songBuy + " songs or you can buy a maximum of " + appBuy + " apps");
  moneyLeft = moneyOnCard - (songBuy*songCost) ;
  moneyLeft2 = moneyOnCard - (appBuy*appCost) ;
                   // moneyLeft represent the money left on the card if songs are bought first and moneyLeft2 represents the amount left if apps are bought
 
   if (moneyLeft >= 3 );                     
  {  appBuy1 = (int)(moneyLeft / appCost);
  moneyLeft3 = moneyLeft - (appCost*appBuy1);
  System.out.println("You can buy " + appBuy1 + " app if you decide to buy the maximum amount of songs");
  System.out.println("Therefore, You have " + moneyLeft3 + " $ left on your card") ;}
  if (moneyLeft2 >=7);
  { songBuy1 = (int)(moneyLeft3 / songCost);
  moneyLeft4 = moneyLeft3 - (songCost*songBuy1);
  System.out.println("Otherwise. you can buy " + songBuy1 + " song(s) if you decide to buy the maximum amount of apps");
  System.out.println("You have " + moneyLeft4 + " $ left on your card") ; }
  }  
}

That worked fine when I had it in a project folder alone. However, when I added a new class to the project( the following one, it stopped working)

Code:
 class MyFirstProgram.Java {
   
  public static void main(String[] args) {
   
  System.out.println("Welcome to My First Java Program");
  System.out.println("This Program was written by: Marc-Andre Leclair");
  System.out.println("The assignment was done individually on January 30th, 2015 at 19:34");
  System.out.println("End of program");
  System.exit(0)   
  }
 }

However when I did something like that on eclipse it ran and compiled fine :/ any help?
 
Technology news on Phys.org
  • #2
For Java the class name must match the filename so for your non working example the filename should be SongsAndApps.java
 
  • #3
It is that name which is odd. I know that the class containing the main method has to bear the same name as the file name. That's why I am completely confused
 
  • #4
It's a bit difficult to understand where you're having compile problems. At the beginning of your first post, you're trying to compile a HelloWorld program which is not in either of the code examples. However, from the code examples, it looks like you're trying to compile several programs that have a main() method at once using the command line. Usually an IDE like Eclipse will take care of that for you when you choose to compile a 'package' (as opposed to a single class). If that's what you're trying to do with the command line, then you would need to do something like this:

javac -classpath . SongsAndApps.java MyFirstProgram.java

Source: Easy command line Java compile
 

FAQ: Having trouble compiling my java project. Help?

Why am I getting errors when trying to compile my Java project?

There could be a few different reasons for this. It's possible that there is a syntax error in your code, or that you are missing necessary libraries or dependencies. It's also possible that your compiler is not set up correctly. Double check your code for any mistakes and make sure you have all the necessary components for your project.

How do I fix compilation errors in my Java project?

The first step is to carefully read the error messages and try to understand what they are telling you. Then, go back to your code and look for any mistakes or missing elements. If you are still having trouble, try searching online for similar error messages or asking for help from a more experienced Java programmer.

What is the difference between compiling and running a Java project?

Compiling a Java project means converting your human-readable code into machine-readable code (also known as bytecode). Running a Java project means actually executing the code to perform the desired actions. In order to run a Java program, it must first be successfully compiled.

How do I compile a Java project using the command line?

Assuming you have a Java compiler installed on your computer, open up the command line and navigate to the directory where your Java project is located. Then, use the command "javac [filename].java" to compile your code. If there are no errors, this will create a .class file which can then be run using the "java [filename]" command.

Can I compile a Java project without using an IDE?

Yes, it is possible to compile and run a Java project without using an IDE. This can be done using the command line as mentioned in the previous question, or through an online compiler such as JDoodle. However, using an IDE can often make the process easier and more efficient, especially for larger projects.

Similar threads

Back
Top