Welcome to the Java Programming Forums


The professional, friendly Java community. 21,500 members and growing!


The Java Programming Forums are a community of Java programmers from all around the World. Our members have a wide range of skills and they all have one thing in common: A passion to learn and code Java. We invite beginner Java programmers right through to Java professionals to post here and share your knowledge. Become a part of the community, help others, expand your knowledge of Java and enjoy talking with like minded people. Registration is quick and best of all free. We look forward to meeting you.


>> REGISTER NOW TO START POSTING


Members have full access to the forums. Advertisements are removed for registered users.

Results 1 to 2 of 2

Thread: Beginner Java Student Having Some Trouble

  1. #1
    Junior Member
    Join Date
    Apr 2012
    Posts
    4
    Thanks
    1
    Thanked 0 Times in 0 Posts

    Question Beginner Java Student Having Some Trouble

    The "Add Lumber" and "Add Customer" sections aren't working correctly. Eclipse is telling me that I have not added the while statement. Also, I added a comment saying "Need to find out which one the customer wants." I need to ask the "customer" if they want to edit the price or stock level. Any advice would be appreciated. I'm almost done with the program I just need these errors/problems fixed. Thanks.

    package Lumber;   import javax.swing.JOptionPane; import java.io.*; import java.util.*; import java.text.*;   public class Lumber { public static void main(String[] args)	{	int count=-1,c;	int place=-1,l;	int [] number = new int [100];	String [] lastname = new String [100];	String [] firstname = new String [100];	String [] address = new String [100];	double [] creditlimit = new double [100];	int [] code = new int [100];	String [] type = new String [100];	double [] price = new double [100];	int [] stocklevel = new int [100];  	int selection;	count=start_program(number,lastname,firstname,address,creditlimit,count);	place=start_program1(code,type,price,stocklevel,place);	selection =menu(); while(selection!=4) { if (selection == 1)	Modify_Customer(number,lastname,firstname,address,creditlimit,count); else if (selection == 2) Modify_Lumber(code,type,price,stocklevel,place); else if (selection == 3) Report(count,place,number,lastname,firstname,address,creditlimit,code,type,price,stocklevel); selection =menu(); }//end of while loop exit_program(number,lastname,firstname,address,creditlimit,count); exit_program1(code,type,price,stocklevel,place); System.exit(0);	}// end of main  	public static int menu()	{ String mnumber; int number; String output = "Chestnut Ridge lumber Comapny" + " \n " + " \n " + "1. Add/Modify Customer Data " + " \n " + "2. Add/Modify Lumber Data " + " \n " + "3. Report Section " + " \n " + "4. Exit the System" + " \n" + " \n " + "Please make your selection >"; mnumber = JOptionPane.showInputDialog(null, output, " ", JOptionPane.QUESTION_MESSAGE); number=Integer.parseInt(mnumber); return number; }  	public static void Modify_Customer(int[]number,String[]lastname,String[]firstname,String[]address,double[]creditlimit,int count)	{	String Choice = "";   String reportChoices = "Customer Information Menu" + "\n" + "1. Add Customer" + "\n" + "2. Delete Customer" + "\n" + "3. Modify Customer";   Choice= JOptionPane.showInputDialog(null,reportChoices,"",JOptionPane.QUESTION_MESSAGE);   int i;   if (Choice.equals("1")){ System.out.println("Add Customer:");   String more = "Y/N";	do{ for (i=0; i<= count; i++) { String ID_Number,last_name, first_name, Address; int ID_number; String Credit_Limit; count=count+1;   ID_Number = JOptionPane.showInputDialog(null,"Enter The New Customer ID:" +	"",JOptionPane.QUESTION_MESSAGE); ID_number = Integer.parseInt(ID_Number); last_name = JOptionPane.showInputDialog(null,"Enter The New Customer's Last Name:" +	"",JOptionPane.QUESTION_MESSAGE); first_name = JOptionPane.showInputDialog(null,"Enter The New Customer's First Name:" +	"",JOptionPane.QUESTION_MESSAGE); Address = JOptionPane.showInputDialog(null,"Enter The New Customer's City:" +	"",JOptionPane.QUESTION_MESSAGE); Credit_Limit = JOptionPane.showInputDialog(null,"Enter The New Customer's Credit Limit:" +	"",JOptionPane.QUESTION_MESSAGE); double Cred_Lim = Double.parseDouble(Credit_Limit);  	number[count] = ID_number; firstname[count] = first_name;	lastname[count] = last_name;	address[count] = Address;	creditlimit[count] = Cred_Lim; }while (more.equals("Y"));	} }   else if (Choice.equals("2")){ System.out.println("Delete Customer:"); {	//Ask for customer ID	String customerID = JOptionPane.showInputDialog(null,"Enter The Customer ID:" +	"",JOptionPane.QUESTION_MESSAGE);	int cust_ID = Integer.parseInt(customerID);  	//Search array	for (i=0; i <= count; i++) {	if (number[i] == cust_ID) {  	for (int p = i; p <= count; p++){	number[p] = number[p-1]; firstname[p] = firstname[p-1];	lastname[p] = lastname[p-1];	address[p] = address[p-1];	creditlimit[p] = creditlimit[p-1];	} } } } }   else if (Choice.equals("3")){ System.out.println("Modify Customer:");	//Ask for customer ID	String customerID = JOptionPane.showInputDialog(null,"Enter The Customer ID:" +	"",JOptionPane.QUESTION_MESSAGE);	int cust_ID = Integer.parseInt(customerID);  	//Search array	for (i=0; i <= count; i++) {	if (number[i] == cust_ID) {	String input = JOptionPane.showInputDialog(null,"Enter The New Customer's Credit Limit:" +	"",JOptionPane.QUESTION_MESSAGE);	int ID_Replace = Integer.parseInt(input);	creditlimit[i] = ID_Replace; }	} }	}  	public static void Modify_Lumber(int[]code,String[]type,double[]price,int[]stocklevel,int place)	{	String Choice = "";   String reportChoices = "Lumber Information Menu" + "\n" + "1. Add Lumber Item" + "\n" + "2. Delete Lumber Item" + "\n" + "3. Modify Lumber Item";   Choice= JOptionPane.showInputDialog(null,reportChoices,"",JOptionPane.QUESTION_MESSAGE);   int i;   int count;	if (Choice.equals("1")){ System.out.println("Add Lumber Item:");   String more = "Y/N";	do{ for (i=0; i<= place; i++) { String Lumber_Code,Lumber_Type, Lumber_Price, Lumber_Stock; int Lumber_code, Lumber_stock; Double Lumber_price; String Credit_Limit; place=place+1;   Lumber_Code = JOptionPane.showInputDialog(null,"Enter The New Lumber's Code:" +	"",JOptionPane.QUESTION_MESSAGE); Lumber_code = Integer.parseInt(Lumber_Code); Lumber_Type = JOptionPane.showInputDialog(null,"Enter The New Lumber's Type:" +	"",JOptionPane.QUESTION_MESSAGE); Lumber_Price = JOptionPane.showInputDialog(null,"Enter The New Lumber's Price:" +	"",JOptionPane.QUESTION_MESSAGE); Lumber_price = Double.parseDouble(Lumber_Price); Lumber_Stock = JOptionPane.showInputDialog(null,"Enter The New Lumber's Stock Availability:" +	"",JOptionPane.QUESTION_MESSAGE); Lumber_stock = Integer.parseInt(Lumber_Stock);  	code[count] = Lumber_code; type[count] = Lumber_Type;	price[count] = Lumber_price;	stocklevel[count] = Lumber_stock; }while (more.equals("Y"));	} }   else if (Choice.equals("2")){ System.out.println("Delete Lumber Item:"); {	//Ask for Lumber code	String LumberCode = JOptionPane.showInputDialog(null,"Enter The Lumber Item's Code:" +	"",JOptionPane.QUESTION_MESSAGE);	int lumb_Code = Integer.parseInt(LumberCode);  	//Search array	for (i=0; i <= count; i++) {	if (code[i] == lumb_Code) {  	for (int p = i; p <= count; p++){	code[p] = code[p-1]; type[p] = type[p-1];	price[p] = price[p-1];	stocklevel[p] = stocklevel[p-1];	} } } } }   else if (Choice.equals("3")){ System.out.println("Modify Lumber Item:");	//Ask for lumber code String LumberCode = JOptionPane.showInputDialog(null,"Enter The Lumber Item's Code:" +	"",JOptionPane.QUESTION_MESSAGE);	int lumb_Code = Integer.parseInt(LumberCode);  	//Search array	for (i=0; i <= count; i++) {	if (code[i] == lumb_Code) {	//Need to find how to ask which one customer wants	String input = JOptionPane.showInputDialog(null,"Enter The New Lumber's Price:" +	"",JOptionPane.QUESTION_MESSAGE);	int Price_Replace = Integer.parseInt(input);	price[i] = Price_Replace;	String input2 = JOptionPane.showInputDialog(null,"Enter The New Lumber's Stock Level:" +	"",JOptionPane.QUESTION_MESSAGE);	int Stock_Replace = Integer.parseInt(input);	stocklevel[i] = Stock_Replace; }	} }	}  	public static void Report(int count,int place,int [] number,String [] lastname,String [] firstname,String [] address,double [] creditlimit,int [] code,String [] type,double [] price,int [] stocklevel)	{	String Choice = "";  	while (!(Choice.equals("9"))){ String reportChoices = "Reports" + "\n" + "1. All Customer Info" + "\n" + "2. All Lumber Info" + "\n" + "3. Current Value of Lumber Inventory" + "\n" + "4. All Customers Above Specific Credit Limit" + "\n" + "5. Report 5" + "\n" + "6. Report 6" + "\n" + "7. Report 7" + "\n" + "8. Report 8" + "\n" + "9. Exit report Menu";   Choice= JOptionPane.showInputDialog(null,reportChoices,"",JOptionPane.QUESTION_MESSAGE);   int i;   if (Choice.equals("1")){ System.out.println("All Customer Info:"); for (i=0; i<= count; i++) { System.out.println(number[i] + "" + lastname[i] + ", " + firstname[i] + ": " + address[i] + " - Credit Score: " + creditlimit[i]); }//for end System.out.println(" "); }//if end else if (Choice.equals("2")){ System.out.println("All Lumber Info:"); for (i=0; i<= place; i++) { System.out.println(code[i] + "" + type[i] + ", " + price[i] + ": " + " - In Stock: " + stocklevel[i]); }//for end System.out.println(" "); }//else if end   else if (Choice.equals("3")){ double lumbinventory = 0;   for (i=0; i<= place; i++){ lumbinventory += (price[i] * stocklevel[i]); }//end for System.out.println("Current Value of Lumber Inventory: $" + lumbinventory + "\n"); System.out.println(" "); } else if (Choice.equals("4")){ double credlimit; String input;   //Prompt for credit score input= JOptionPane.showInputDialog(null, "Enter Value of Credit Score:" + "", JOptionPane.QUESTION_MESSAGE); credlimit = Double.parseDouble(input);   System.out.println("Customers Above A Credit Limit of " + credlimit +":");   for (i=0; i <= count; i++){ if (creditlimit[i] > credlimit){ System.out.println(lastname[i] + ", " + firstname[i] + ": " + creditlimit[i]); }//end for }//end if System.out.println(" ");   } else if (Choice.equals("5")){ int inputcode; String input;   //Prompt for lumber code input= JOptionPane.showInputDialog(null, "Enter the Lumber Code:" + "", JOptionPane.QUESTION_MESSAGE); inputcode = Integer.parseInt(input);   System.out.println("Lumber information for code number " + input +":");   for (i=0; i <= count; i++){ if (code[i] == inputcode){ System.out.println(type[i] + ", " + price[i] + ", " + stocklevel[i]); } } System.out.println(" "); }   else if (Choice.equals("6")){ String input;   //Prompt for address input= JOptionPane.showInputDialog(null, "Enter a Customer's City of Residence:" + "", JOptionPane.QUESTION_MESSAGE);   System.out.println("Customer information for " + input +":");   for (i=0; i <= count; i++){ if (address[i].equalsIgnoreCase(input)){ System.out.println(number[i] + "," + lastname[i] + ", " + firstname[i] + "," + creditlimit[i]); } } System.out.println(" "); }   else if (Choice.equals("7")) {	String customerID = "", first = "", last = "", items = "", itemName = "", report = "", addItem = "";	int cust_ID = 0, itemChosen = 0, item_stock = 0, quantity = 0;	double item_price = 0, cost = 0, item_cost = 0, total = 0, tax = 0;  	//Ask for customer ID	customerID = JOptionPane.showInputDialog(null,"Enter The Customer ID:" +	"",JOptionPane.QUESTION_MESSAGE);	cust_ID = Integer.parseInt(customerID);  	//Search array	for (i=0; i <= count; i++) {	if (number[i] == cust_ID) {  	//Store first and last name	first = firstname[i];	last = lastname[i];  	do {  	items ="LumberInventory: \n\n";  	int placement = 19;	//Create a variable with lumber options	for (i=0; i <= placement; i++) {	items += "Code: " + code[i] + " Type: " + type[i] + " Price: $" + price[i] +	" Amount In Stock: " + stocklevel[i] + "\n";	}  	items += "\n\n" + "Please enter the lumber code you wish to purchase:";  	//Prompt for item ID	String input = JOptionPane.showInputDialog(null,items + "",JOptionPane.QUESTION_MESSAGE);	itemChosen = Integer.parseInt(input);  	//Find the item in the array	for (i=0; i <= placement; i++) {	if (code[i] == itemChosen) {	item_price = price[i];	item_stock = stocklevel[i];	itemName = type[i];	}	}  	input = JOptionPane.showInputDialog(null,"How many " + itemName + "'s would you like to purchase? In Stock: " +	item_stock + " @ $" + item_price +"/each",JOptionPane.QUESTION_MESSAGE);	quantity = Integer.parseInt(input);  	if (quantity <= item_stock) {	item_cost = item_price * quantity;	cost += item_cost;  	report += quantity + "- " + itemName + " @ $" + item_price + "/each: $" + item_cost + "\n";  	} else {	do {  	input = JOptionPane.showInputDialog(null,"ERROR: There is not enough in stock \n\n" +" How many "	+ itemName + "'s would you like to purchase? In Stock: " + item_stock,JOptionPane.QUESTION_MESSAGE);	quantity = Integer.parseInt(input);	} while (quantity > item_stock);//End while  	item_cost = item_price * quantity;	cost += item_cost;  	report += quantity + "- " + itemName + " @ $" + item_price + "/each: $" + item_cost + "\n";	}//End Else  	//Update stock level	for (i=0; i <= placement; i++) {	if (code[i] == itemChosen) {	stocklevel[i] = stocklevel[i] - quantity;	}	}  	//Prompt for another item	addItem = JOptionPane.showInputDialog(null,"Would you like to add another item? (Y/N):" +	"",JOptionPane.QUESTION_MESSAGE);  	} while (addItem.equalsIgnoreCase("Y"));  	//Output sales report	System.out.println("Sales Report for " + last + ", " + first + ": \n");	System.out.println(report);	//Calculate tax	tax = cost * 0.07;	System.out.println("Sales Tax: $" + tax);	//Calculate total price	total = cost + tax;	System.out.println("Total Price: $" + total);  	}//End If	} //End for	System.out.println(" "); }   else if (Choice.equals("8")){ int inputPrice; String input;   //Prompt for lumber code input= JOptionPane.showInputDialog(null, "Enter the Desired Lumber Price (ex. 1, 2, 3):" + "", JOptionPane.QUESTION_MESSAGE); inputPrice = Integer.parseInt(input);   System.out.println("Information for Lumber Priced Less Than $" + input +":");   for (i=0; i <= count; i++){ if (price[i] < inputPrice){ System.out.println(code[i] + "" + type[i] + ", " + price[i] + ": " + " - In Stock: " + stocklevel[i]); } } System.out.println(" "); }	}	}    	public static int start_program(int[]number,String[]lastname,String[]firstname,String[]address,double[]creditlimit,int count) { String newLine; try { //define a file variable for Buffered read BufferedReader Customer_file = new BufferedReader(new FileReader("customer.dat")); //read lines in file until there are no more lines in the file to read while ((newLine = Customer_file.readLine()) != null) { //there is a "#" between each data item in each line StringTokenizer delimiter = new StringTokenizer(newLine,"#"); count=count+1; number[count] =Integer.parseInt(delimiter.nextToken()); lastname[count] = delimiter.nextToken(); firstname[count] =delimiter.nextToken(); address[count] =delimiter.nextToken(); creditlimit[count] = Double.parseDouble(delimiter.nextToken()); }//while loop Customer_file.close(); }//end try catch (IOException error) { //there was an error on the file writing System.out.println("Error on file read " + error); }//error on read return count; }//end start_program  	public static int start_program1(int[]code,String[]type,double[]price,int[]stocklevel,int place) { String newLine; try { //define a file variable for Buffered read BufferedReader Lumber_file = new BufferedReader(new FileReader("lumber.dat")); //read lines in file until there are no more lines in the file to read while ((newLine = Lumber_file.readLine()) != null) { //there is a "#" between each data item in each line StringTokenizer delimiter = new StringTokenizer(newLine,"#"); place=place+1; code[place] =Integer.parseInt(delimiter.nextToken()); type[place] = delimiter.nextToken(); price[place] = Double.parseDouble(delimiter.nextToken()); stocklevel[place] =Integer.parseInt(delimiter.nextToken()); }//while loop Lumber_file.close(); }//end try catch (IOException error) { //there was an error on the file writing System.out.println("Error on file read " + error); }//error on read return place; }//end start_program      	public static void exit_program(int[]number,String[]lastname,String[]firstname,String[]address,double[]creditlimit,int count)	{	try { BufferedWriter Customer_file = new BufferedWriter(new FileWriter("customer.dat"));	for (int i = 0; i<=count; ++i) { //put "#" between each data item in the file	Customer_file.write(number[i] + "#" + lastname[i] + "#" +firstname[i]+ "#" +address[i] + "#" +creditlimit[i]); //write a new line in the file	Customer_file.newLine(); }//for loop Customer_file.close(); }//end try catch (IOException error) { //there was an error on the write to the file System.out.println("Error on file write " + error); }	}  	public static void exit_program1(int[]code,String[]type,double[]price,int[]stocklevel,int place) {	{	try { BufferedWriter Lumber_file = new BufferedWriter(new FileWriter("lumber.dat"));	for (int i = 0; i<=place; ++i) { //put "#" between each data item in the file	Lumber_file.write(code[i] + "#" + type[i] + "#" +price[i]+ "#" +stocklevel[i]); //write a new line in the file	Lumber_file.newLine(); }//for loop	Lumber_file.close(); }//end try catch (IOException error) { //there was an error on the write to the file System.out.println("Error on file write " + error); } }	}   }//end of class


  2. #2
    Crazy Cat Lady KevinWorkman's Avatar
    Join Date
    Oct 2010
    Location
    Washington, DC
    Posts
    5,424
    My Mood
    Hungover
    Thanks
    144
    Thanked 636 Times in 540 Posts

    Default Re: Beginner Java Student Having Some Trouble

    That's way too much code for us to wade through. I suggest throwing together an SSCCE that demonstrates the problem, that way we can copy and paste your program to easily see what you're talking about.

    Also, your formatting makes it hard to tell what's what. I would fix your indentation so that it's more obvious where a method/loop/statement begins and ends. Are you sure everything ends where you think it does?

    Also also, you should copy and paste the full text of the error message, including the stack trace (for your SSCCE, along with which lines are on the line numbers listed in the stack trace).
    Useful links: How to Ask Questions the Smart Way | Use Code Tags | Java Tutorials
    Static Void Games - Play indie games, learn from game tutorials and source code, upload your own games!

Similar Threads

  1. Beginner having some trouble with two parts in my code
    By csprung in forum What's Wrong With My Code?
    Replies: 1
    Last Post: April 25th, 2012, 04:23 AM
  2. New Programming Student, Having Trouble With Abstract Classes/Interfaces
    By bulx0001 in forum Object Oriented Programming
    Replies: 2
    Last Post: February 10th, 2012, 07:24 AM
  3. beginner programmer trouble
    By scottey313 in forum What's Wrong With My Code?
    Replies: 5
    Last Post: November 30th, 2011, 01:41 PM
  4. another assignment from beginner programmer trouble
    By scottey313 in forum What's Wrong With My Code?
    Replies: 1
    Last Post: November 30th, 2011, 01:13 PM
  5. Hello to all!/Java Student.
    By Benjamin Cainan in forum Member Introductions
    Replies: 1
    Last Post: May 3rd, 2011, 09:48 AM