| | |
Help a newbie with some Java code please?
Please support our Java advertiser: Programming Forums - DaniWeb Sister Site
![]() |
•
•
Join Date: Aug 2005
Posts: 2
Reputation:
Solved Threads: 0
Okay. I am very new to Java and I am very excited about it. However, I have hit a brick wall. I have a couple of questions about my code.
1. How can I make the program print a blank space in between the ****RESIDENTIAL ....***** and Max number of customers....?
2. I want the program to say at the end - Cost for residential customer 1: is $ ---- then customer 2: is $ ------then customer 3: is $..... -----My code is only saying that "Gas used by residential customer 4444" This is just an example. I hope I made this question clear.
Here is the first part of my code that will compile but I have the problems above:
import java.io.*;
import java.text.DecimalFormat;
public class lab5
{
public static void main(String[] args)
{
int resAmounts = 0;
int busAmounts = 0;
double resCosts = 0;
double busCosts = 0;
int[] resAmount = new int[20]; // Cubic meters - residential
int[] busAmount = new int[20]; // Cubic meters - business
int[] planNumber = new int[20]; // Plan numbers - business
double[] resCost = new double[20]; // Residential costs
double[] busCost = new double[20]; // Business costs
System.out.println("*******RESIDENTIAL CUSTOMER ACCOUNTS*******");
int numCust = inputNumCust(); // Call to get number of customers
getResAmounts(numCust, resAmount); // Call to get Residential amounts
getResCosts(numCust, resAmount, resCost); // Call to get Residential costs
System.out.println("Cost for Residential customer " + numCust + " " + ": is" + resCosts[j]);
} // End of Main
public static int inputNumCust()
{
int max = 20, numCust = 0;
System.out.println("Max number of customers allowed is " + max);
do
{
System.out.println("Enter number of customers:");
numCust = MyInput.readInt();
}while(numCust > 20);
System.out.println("Number of customers read as: " + numCust);
return (numCust);
} // End of InputNumCust
public static void getResAmounts(int numCust, int [] resAmount)
{
System.out.println("......Natural Gas Residential Usage........");
for(int i = 0; i < numCust; i++)
{
{
System.out.println("Enter meter reading for previous month (less than 9999):");
int starting = MyInput.readInt();
System.out.println("Enter meter reading for current month (less than 9999):");
int ending = MyInput.readInt();
resAmount[i] = ending - starting;
if (resAmount[i] < 0)
{
resAmount[i] = 10000 - starting + ending;
}
System.out.println("Gas used (cubic meters) by Residential customer " + numCust() + " " + resAmount[i] + " ");
}
}
}
Now here is the part of my code that will not compile::: Please help with this! Please!
public static void getResCosts(int numCust, int [] resAmount, double [] resCost)
{
System.out.println("......Natural Gas Residential Costs........");
for(int j = 0; j < numCust; j++)
{
if (resAmount[] <= 70)
{
resCost[j] = 5.00;
}
else if ((resAmount[] > 70) && (resAmount[i] <= 170))
{
resAmount[] = resAmount[] - 70;
resCost[j] = 5.00 + (resAmount[] * .05);
}
else if ((resAmount[] > 170) && (resAmount[] <= 400))
{
resAmount[] = resAmount[i] - 170;
resCost[j] = 10.00 + (resAmount[] * .025);
}
else
{
resAmount[] = resAmount[] - 400;
resCost[j] = 15.75 + (resAmount[] * .015);
}
System.out.println("Cost for Residential customer numCust() is " + resCost);
}
}
} // End of Class
Any help?
Thank you in advance
1. How can I make the program print a blank space in between the ****RESIDENTIAL ....***** and Max number of customers....?
2. I want the program to say at the end - Cost for residential customer 1: is $ ---- then customer 2: is $ ------then customer 3: is $..... -----My code is only saying that "Gas used by residential customer 4444" This is just an example. I hope I made this question clear.
Here is the first part of my code that will compile but I have the problems above:
import java.io.*;
import java.text.DecimalFormat;
public class lab5
{
public static void main(String[] args)
{
int resAmounts = 0;
int busAmounts = 0;
double resCosts = 0;
double busCosts = 0;
int[] resAmount = new int[20]; // Cubic meters - residential
int[] busAmount = new int[20]; // Cubic meters - business
int[] planNumber = new int[20]; // Plan numbers - business
double[] resCost = new double[20]; // Residential costs
double[] busCost = new double[20]; // Business costs
System.out.println("*******RESIDENTIAL CUSTOMER ACCOUNTS*******");
int numCust = inputNumCust(); // Call to get number of customers
getResAmounts(numCust, resAmount); // Call to get Residential amounts
getResCosts(numCust, resAmount, resCost); // Call to get Residential costs
System.out.println("Cost for Residential customer " + numCust + " " + ": is" + resCosts[j]);
} // End of Main
public static int inputNumCust()
{
int max = 20, numCust = 0;
System.out.println("Max number of customers allowed is " + max);
do
{
System.out.println("Enter number of customers:");
numCust = MyInput.readInt();
}while(numCust > 20);
System.out.println("Number of customers read as: " + numCust);
return (numCust);
} // End of InputNumCust
public static void getResAmounts(int numCust, int [] resAmount)
{
System.out.println("......Natural Gas Residential Usage........");
for(int i = 0; i < numCust; i++)
{
{
System.out.println("Enter meter reading for previous month (less than 9999):");
int starting = MyInput.readInt();
System.out.println("Enter meter reading for current month (less than 9999):");
int ending = MyInput.readInt();
resAmount[i] = ending - starting;
if (resAmount[i] < 0)
{
resAmount[i] = 10000 - starting + ending;
}
System.out.println("Gas used (cubic meters) by Residential customer " + numCust() + " " + resAmount[i] + " ");
}
}
}
Now here is the part of my code that will not compile::: Please help with this! Please!
public static void getResCosts(int numCust, int [] resAmount, double [] resCost)
{
System.out.println("......Natural Gas Residential Costs........");
for(int j = 0; j < numCust; j++)
{
if (resAmount[] <= 70)
{
resCost[j] = 5.00;
}
else if ((resAmount[] > 70) && (resAmount[i] <= 170))
{
resAmount[] = resAmount[] - 70;
resCost[j] = 5.00 + (resAmount[] * .05);
}
else if ((resAmount[] > 170) && (resAmount[] <= 400))
{
resAmount[] = resAmount[i] - 170;
resCost[j] = 10.00 + (resAmount[] * .025);
}
else
{
resAmount[] = resAmount[] - 400;
resCost[j] = 15.75 + (resAmount[] * .015);
}
System.out.println("Cost for Residential customer numCust() is " + resCost);
}
}
} // End of Class
Any help?
Thank you in advance
1. How can I make the program print a blank space in between the ****RESIDENTIAL ....***** and Max number of customers....?
At present the output should be like this
*****Residential.......**********
Max number of customers...........
rt?
you want it in the same line is it instead of a new line
instead of using println which prints in a new line use print in the print statement for max no of customers and add " "
2) System.out.println("Cost for Residential customer " + numCust + " " + ": is" + resCosts[j]);
this is written inside the main.
how will the program get the value of numCust and j.
put it in a loop
for(j=0;j<numcust;j++)
{
System.out.println("Cost for Residential customer " + numCust + " " + ": is" + resCosts[j]);
}
3) resAmount[] <= 70
everywhere you have used resAmount[] like this try adding j that is use resAmount[j] instead.
i dont have java installed so could not make the changes and try out.
this should do.....
just post here if it does not
At present the output should be like this
*****Residential.......**********
Max number of customers...........
rt?
you want it in the same line is it instead of a new line
instead of using println which prints in a new line use print in the print statement for max no of customers and add " "
2) System.out.println("Cost for Residential customer " + numCust + " " + ": is" + resCosts[j]);
this is written inside the main.
how will the program get the value of numCust and j.
put it in a loop
for(j=0;j<numcust;j++)
{
System.out.println("Cost for Residential customer " + numCust + " " + ": is" + resCosts[j]);
}
3) resAmount[] <= 70
everywhere you have used resAmount[] like this try adding j that is use resAmount[j] instead.
i dont have java installed so could not make the changes and try out.
this should do.....
just post here if it does not
Creationz Unlimited - Software ,web , forums , graphic work , Logos
Dreamzsportz Online - Want your big break in sports?
Kakkanat Home Stay - Plan your next vacation to India
Dreamzsportz Online - Want your big break in sports?
Kakkanat Home Stay - Plan your next vacation to India
•
•
Join Date: Aug 2005
Posts: 2
Reputation:
Solved Threads: 0
Okay, here is my complete code...It still is giving me compile errors in the getResCosts method:
import java.io.*;
import java.text.DecimalFormat;
public class lab5
{
public static void main(String[] args)
{
int resAmounts = 0;
int busAmounts = 0;
double resCosts = 0;
double busCosts = 0;
int[] resAmount = new int[20]; // Cubic meters - residential
int[] busAmount = new int[20]; // Cubic meters - business
int[] planNumber = new int[20]; // Plan numbers - business
double[] resCost = new double[20]; // Residential costs
double[] busCost = new double[20]; // Business costs
System.out.println("*******RESIDENTIAL CUSTOMER ACCOUNTS*******");
int numCust = inputNumCust(); // Call to get number of customers
getResAmounts(numCust, resAmount); // Call to get Residential amounts
getResCosts(numCust, resAmount, resCost); // Call to get Residential costs
System.out.println("Cost for Residential customer " + numCust + " " + ": is" + resCosts[j]);
System.out.println("******BUSINESS CUSTOMER ACCOUNTS******");
numCust = inputNumCust(); // Call to get Business amounts
getBusAmounts(numCust, planNumber, busAmount);
getBusCosts(numCust, planNumber, busAmount, busCost);
System.out.println("Cost for Business customer " + numCust + " " + ": is" + busCosts[j]);
} // End of Main
public static int inputNumCust()
{
int max = 20, numCust = 0;
System.out.println("Max number of customers allowed is " + max);
do
{
System.out.println("Enter number of customers:");
numCust = MyInput.readInt();
}while(numCust > 20);
System.out.println("Number of customers read as: " + numCust);
return (numCust);
} // End of InputNumCust
public static void getResAmounts(int numCust, int [] resAmount)
{
System.out.println("......Natural Gas Residential Usage........");
for(int i = 0; i < numCust; i++)
{
System.out.println("Enter meter reading for previous month (less than 9999):");
int starting = MyInput.readInt();
System.out.println("Enter meter reading for current month (less than 9999):");
int ending = MyInput.readInt();
resAmount[i] = ending - starting;
if (resAmount[i] < 0)
{
resAmount[i] = 10000 - starting + ending;
}
System.out.println("Gas used (cubic meters) by Residential customer " + numCust() + " " + resAmount[i] + " ");
}
}
public static void getResCosts(int numCust, int [] resAmount, double [] resCost)
{
System.out.println("......Natural Gas Residential Costs........");
for(int j = 0; j < numCust; j++)
{
if (resAmount[j] <= 70)
{
resCost[j] = 5.00;
}
else if ((resAmount[j] > 70) && (resAmount[j] <= 170))
{
resAmount[j] = resAmount[j] - 70;
resCost[j] = 5.00 + (resAmount[j] * .05);
}
else if ((resAmount[j] > 170) && (resAmount[j] <= 400))
{
resAmount[j] = resAmount[j] - 170;
resCost[j] = 10.00 + (resAmount[j] * .025);
}
else
{
resAmount[j] = resAmount[j] - 400;
resCost[j] = 15.75 + (resAmount[j] * .015);
}
System.out.println("Cost for Residential customer numCust() is " + resCost(j) + " ");
}
}
public static void getBusAmounts(int numCust, int [] planNumber, int [] busAmount)
{
System.out.println(".....NATURAL GAS BUSINESS USAGE .....");
System.out.println("PLAN 1 - FOR LOW VOLUME USERS");
System.out.println("PLAN 2 - FOR MEDIUM VOLUME USERS");
System.out.println("PLAN 3 - FOR LARGE VOLUME USERS");
System.out.println("PLAN 4 - FOR HIGHEST VOLUME USERS");
for(int k = 0; k < numCust; k++)
{
System.out.println("Enter the plan number for customer :");
int plan = MyInput.readInt();
while ((plan < 1) || (plan > 4))
{
System.out.println("PLAN NUMBER ERRROR...PLEASE ENTER EITHER 1 OR 2 OR 3 OR 4");
System.out.println("...NATURAL GAS BUSINESS USAGE PLANS...");
System.out.println("PLAN 1 - FOR LOW VOLUME USERS");
System.out.println("PLAN 2 - FOR MEDIUM VOLUME USERS");
System.out.println("PLAN 3 - FOR LARGE VOLUME USERS");
System.out.println("PLAN 4 - FOR HIGHEST VOLUME USERS");
System.out.println("Enter the plan number:");
plan = MyInput.readInt();
}
System.out.println("Enter meter reading for previous month (less than 9999):");
int previous = MyInput.readInt();
System.out.println("Enter meter reading for current month (less than 9999):");
int current = MyInput.readInt();
int amount = current - previous;
if (amount < 0)
{
amount = 10000 - previous + current;
}
System.out.println("Gas used (cubic meters) by Business customer " + numCust() + " " + resAmount[i] + " ");
}
}
public static void getBusCosts(int numCust, int [] planNumber, int [] busAmount, double [] busCost)
{
System.out.println("......Natural Gas Business Costs........");
switch (planNumber)
{
case 1:
cost = 200 + (.04 * amount);
System.out.println("Cost is $" + cost);
break;
case 2:
cost = 300 + (.035 * amount);
System.out.println("Cost is $" + cost);
break;
case 3:
cost = 350 + (.029 * amount);
System.out.println("Cost is $" + cost);
break;
case 4:
cost = 400 + (.024 * amount);
System.out.println("Cost is $" + cost);
break;
}
}
} // End of Class
Any help at all? Thank you.
import java.io.*;
import java.text.DecimalFormat;
public class lab5
{
public static void main(String[] args)
{
int resAmounts = 0;
int busAmounts = 0;
double resCosts = 0;
double busCosts = 0;
int[] resAmount = new int[20]; // Cubic meters - residential
int[] busAmount = new int[20]; // Cubic meters - business
int[] planNumber = new int[20]; // Plan numbers - business
double[] resCost = new double[20]; // Residential costs
double[] busCost = new double[20]; // Business costs
System.out.println("*******RESIDENTIAL CUSTOMER ACCOUNTS*******");
int numCust = inputNumCust(); // Call to get number of customers
getResAmounts(numCust, resAmount); // Call to get Residential amounts
getResCosts(numCust, resAmount, resCost); // Call to get Residential costs
System.out.println("Cost for Residential customer " + numCust + " " + ": is" + resCosts[j]);
System.out.println("******BUSINESS CUSTOMER ACCOUNTS******");
numCust = inputNumCust(); // Call to get Business amounts
getBusAmounts(numCust, planNumber, busAmount);
getBusCosts(numCust, planNumber, busAmount, busCost);
System.out.println("Cost for Business customer " + numCust + " " + ": is" + busCosts[j]);
} // End of Main
public static int inputNumCust()
{
int max = 20, numCust = 0;
System.out.println("Max number of customers allowed is " + max);
do
{
System.out.println("Enter number of customers:");
numCust = MyInput.readInt();
}while(numCust > 20);
System.out.println("Number of customers read as: " + numCust);
return (numCust);
} // End of InputNumCust
public static void getResAmounts(int numCust, int [] resAmount)
{
System.out.println("......Natural Gas Residential Usage........");
for(int i = 0; i < numCust; i++)
{
System.out.println("Enter meter reading for previous month (less than 9999):");
int starting = MyInput.readInt();
System.out.println("Enter meter reading for current month (less than 9999):");
int ending = MyInput.readInt();
resAmount[i] = ending - starting;
if (resAmount[i] < 0)
{
resAmount[i] = 10000 - starting + ending;
}
System.out.println("Gas used (cubic meters) by Residential customer " + numCust() + " " + resAmount[i] + " ");
}
}
public static void getResCosts(int numCust, int [] resAmount, double [] resCost)
{
System.out.println("......Natural Gas Residential Costs........");
for(int j = 0; j < numCust; j++)
{
if (resAmount[j] <= 70)
{
resCost[j] = 5.00;
}
else if ((resAmount[j] > 70) && (resAmount[j] <= 170))
{
resAmount[j] = resAmount[j] - 70;
resCost[j] = 5.00 + (resAmount[j] * .05);
}
else if ((resAmount[j] > 170) && (resAmount[j] <= 400))
{
resAmount[j] = resAmount[j] - 170;
resCost[j] = 10.00 + (resAmount[j] * .025);
}
else
{
resAmount[j] = resAmount[j] - 400;
resCost[j] = 15.75 + (resAmount[j] * .015);
}
System.out.println("Cost for Residential customer numCust() is " + resCost(j) + " ");
}
}
public static void getBusAmounts(int numCust, int [] planNumber, int [] busAmount)
{
System.out.println(".....NATURAL GAS BUSINESS USAGE .....");
System.out.println("PLAN 1 - FOR LOW VOLUME USERS");
System.out.println("PLAN 2 - FOR MEDIUM VOLUME USERS");
System.out.println("PLAN 3 - FOR LARGE VOLUME USERS");
System.out.println("PLAN 4 - FOR HIGHEST VOLUME USERS");
for(int k = 0; k < numCust; k++)
{
System.out.println("Enter the plan number for customer :");
int plan = MyInput.readInt();
while ((plan < 1) || (plan > 4))
{
System.out.println("PLAN NUMBER ERRROR...PLEASE ENTER EITHER 1 OR 2 OR 3 OR 4");
System.out.println("...NATURAL GAS BUSINESS USAGE PLANS...");
System.out.println("PLAN 1 - FOR LOW VOLUME USERS");
System.out.println("PLAN 2 - FOR MEDIUM VOLUME USERS");
System.out.println("PLAN 3 - FOR LARGE VOLUME USERS");
System.out.println("PLAN 4 - FOR HIGHEST VOLUME USERS");
System.out.println("Enter the plan number:");
plan = MyInput.readInt();
}
System.out.println("Enter meter reading for previous month (less than 9999):");
int previous = MyInput.readInt();
System.out.println("Enter meter reading for current month (less than 9999):");
int current = MyInput.readInt();
int amount = current - previous;
if (amount < 0)
{
amount = 10000 - previous + current;
}
System.out.println("Gas used (cubic meters) by Business customer " + numCust() + " " + resAmount[i] + " ");
}
}
public static void getBusCosts(int numCust, int [] planNumber, int [] busAmount, double [] busCost)
{
System.out.println("......Natural Gas Business Costs........");
switch (planNumber)
{
case 1:
cost = 200 + (.04 * amount);
System.out.println("Cost is $" + cost);
break;
case 2:
cost = 300 + (.035 * amount);
System.out.println("Cost is $" + cost);
break;
case 3:
cost = 350 + (.029 * amount);
System.out.println("Cost is $" + cost);
break;
case 4:
cost = 400 + (.024 * amount);
System.out.println("Cost is $" + cost);
break;
}
}
} // End of Class
Any help at all? Thank you.
what error message is coming?
Creationz Unlimited - Software ,web , forums , graphic work , Logos
Dreamzsportz Online - Want your big break in sports?
Kakkanat Home Stay - Plan your next vacation to India
Dreamzsportz Online - Want your big break in sports?
Kakkanat Home Stay - Plan your next vacation to India
I'd bet the compile error is this:
it should be:
because resCost is an array.
Java Syntax (Toggle Plain Text)
System.out.println("Cost for Residential customer numCust() is " + resCost(j) + " ");
it should be:
Java Syntax (Toggle Plain Text)
System.out.println("Cost for Residential customer numCust() is " + resCost[j] + " ");
because resCost is an array.
![]() |
Similar Threads
- Auto generate Java Code from WSDL using Axis (Java)
- Executing Shell script from Java code. (Java)
- download jar files using java code (Java)
- I want to know about the java code. Help please!!!! (Java)
- Move out java code from jsp (Java)
- newbie... Java load large picture :) Lit'l help plez (Java)
- Help with Java code (Java)
- Can N E 1 Help!!!! -- Need sample Java code (Java)
- java code newbie (Java)
Other Threads in the Java Forum
- Previous Thread: Need help moving an object across screen
- Next Thread: Java GUI JOptionPane.showMessageDialog
| Thread Tools | Search this Thread |
2dgraphics account android api apple applet application array arrays automation banking binary binarytree bluetooth chat chatprogramusingobjects class classes client code component data database derby design draw eclipse encryption error event exception fractal game givemetehcodez graphics gui html ide if_statement image inheritance input integer interface j2me java javadesktopapplications javaprojects jlabel jni jpanel jtextfield julia linux list loop map method methods midlethttpconnection mobile monitoring netbeans newbie nullpointerexception open-source oracle print printing problem program programming project property recursion reference ria scanner screen search server set size sms sort sourcelabs splash sql static stop string swing testautomation threads time tree ui unicode validation windows





