Having trouble compiling my java project. Help?

  • Java
  • Thread starter MarcL
  • Start date
  • #1
170
2

Main Question or Discussion Point

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... Im 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?
 

Answers and Replies

  • #2
11,477
5,003
For Java the class name must match the filename so for your non working example the filename should be SongsAndApps.java
 
  • #3
170
2
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 im completely confused
 
  • #4
Borg
Science Advisor
Gold Member
1,871
2,261
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
 

Related Threads for: Having trouble compiling my java project. Help?

Replies
2
Views
1K
Replies
5
Views
3K
Replies
1
Views
2K
  • Last Post
Replies
4
Views
2K
  • Last Post
Replies
2
Views
2K
Replies
4
Views
515
  • Last Post
Replies
2
Views
1K
  • Last Post
Replies
3
Views
4K
Top