Help with java program: Finding the remaining Gas in a Car
I am a java newbie and I know this is a simple program but I am not getting the required result. Any help will be appreciated.
Here is the code for Car.java :
class Car{
public double gasTank;
public double drive;
public double fueleff;
public Car()
gasTank = 0;
public Car(double rate)
fueleff = rate;
gasTank = 0;
public void eff(double rate)
fueleff = rate;
public void drive(double amountDrove)
drive = amountDrove;
double amtRem = (gasTank-(drive/fueleff));
gasTank = amtRem;
public void addGas(double amountPumped)
double amtRem = gasTank + amountPumped;
gasTank = amtRem;
public double getGas()
return gasTank;
}Here is the code for CarTester.java :
public class CarTester {
public static void main(String[] arg) {
Car myHybrid = new Car();
double amtRem = myHybrid.getGas();
myHybrid.eff(50);
myHybrid.addGas(20);
myHybrid.drive(100);
System.out.println("Amount Remaining: " + amtRem + " Gallons");
}I should be getting 18 Gallons in the gasTank but I am getting 0.0. What am I doing wrong?
And replace
public void drive(double amountDrove)
drive = amountDrove;
double amtRem = (gasTank-(drive/fueleff));
gasTank = amtRem;
}with
public void drive(double amountDrove)
drive = amountDrove;
gasTank -= drive/fueleff; // same logic as for +=
}Cheers =)
Similar Messages
-
Help with Java programming project
Hi,
I need help in writing this Java program. The purpose of this program is to read a variable-length stream of 0, 1 characters from an input text file (call it input.txt) one character at a time, and generate the corresponding B8ZS output stream consisting of the +, - , and 0 characters (with appropriate substitutions) one-character-at-a-time into a text file (called output.txt).
The program must use a class called AMIConverter with an object called AMI . Class AMIConverter must have a method called convert which converts an individual input character 0 or 1 into the appropriate character 0 or + or - of AMI.
It first copy the line to file output.txt. Then read the line one character at a time and pass only valid characters (0 or 1) to AMI.convert, which assumes only valid characters. The first 1 in each new 'Example' should be converted to a +.
This is what is read in, but this is just a test case.
0101<1000
1100a1000b00
1201g101
should now produce two lines of output for each 'Example', as shown below:
This should be the output of the output.txt file
Example 1
in :0101<1000
out:0+0-+000
Example 2
in :1100a1000b00
out:+-00+00000
Example 3
in :1201g101
out:+0-+0-
To elaborate more, only 1 and 0 are passed to "convert" method. All others are ignored. 0 become 0 and 1 become either + or - and the first "1" in each new example should be a +.
This is what I have so far. So far I am not able to get the "in" part, the characters (e.g. : 0101<1000 ) out to the output.txt file. I am only able to get the "out" part. And I also can't get it to display a + for the first "1" in each new examples.
import java.io.*;
public class AMIConverter
public static void main (String [] args) throws IOException
AMI ami = new AMI();
try
int ch = ' ';
int lineNum = 1;
int THE_CHAR_0 = '0';
int THE_CHAR_1 = '1';
BufferedReader infile = new BufferedReader(new FileReader("input.txt"));
PrintWriter outfile = new PrintWriter("output.txt");
outfile.write("Example " + lineNum);//prints Example 1
outfile.println();
outfile.write("in :");
outfile.println();
outfile.write("out:");
while ((ch = infile.read()) != -1)
if (ch == '\r' || ch == '\n')
lineNum++;
outfile.println();
outfile.println();
outfile.write("Example " + lineNum);
outfile.println();
outfile.write("in :");
outfile.println();
outfile.write("out:");
else
if (ch == THE_CHAR_0)
int output = ami.convert(ch);
outfile.write(output);
else
if (ch == THE_CHAR_1)
int output = ami.convert(ch);
outfile.write(output);
}//end while
infile.close();
outfile.close();
}catch (IOException ex) {}
}//main method
}//class AMIConverter
This is my AMI class
import java.io.*;
public class AMI
int THE_CHAR_0 = '0';
int THE_CHAR_1 = '1';
int total = '+';
int minus = '-';
int count = 0;
public int convert(int ch)
try
PrintWriter outfile = new PrintWriter("output.txt");
if (ch == THE_CHAR_0)
return ch;
else
if (ch == THE_CHAR_1)
count++;
if (count%2 == 1)
ch = total;
return (ch);
else
ch = minus;
return (ch);
}catch (FileNotFoundException e) {}
return ch;
}//method convert
}//class AMI
Any help would be appreicated.
Thanks!Hi,
I need help in writing this Java program. The purpose of this program is to read a variable-length stream of 0, 1 characters from an input text file (call it input.txt) one character at a time, and generate the corresponding B8ZS output stream consisting of the +, - , and 0 characters (with appropriate substitutions) one-character-at-a-time into a text file (called output.txt).
The program must use a class called AMIConverter with an object called AMI . Class AMIConverter must have a method called convert which converts an individual input character 0 or 1 into the appropriate character 0 or + or - of AMI.
It first copy the line to file output.txt. Then read the line one character at a time and pass only valid characters (0 or 1) to AMI.convert, which assumes only valid characters. The first 1 in each new 'Example' should be converted to a +.
This is what is read in, but this is just a test case.
0101<1000
1100a1000b00
1201g101
should now produce two lines of output for each 'Example', as shown below:
This should be the output of the output.txt file
Example 1
in :0101<1000
out:0+0-+000
Example 2
in :1100a1000b00
out:+-00+00000
Example 3
in :1201g101
out:+0-+0-
To elaborate more, only 1 and 0 are passed to "convert" method. All others are ignored. 0 become 0 and 1 become either + or - and the first "1" in each new example should be a +.
This is what I have so far. So far I am not able to get the "in" part, the characters (e.g. : 0101<1000 ) out to the output.txt file. I am only able to get the "out" part. And I also can't get it to display a + for the first "1" in each new examples.
import java.io.*;
public class AMIConverter
public static void main (String [] args) throws IOException
AMI ami = new AMI();
try
int ch = ' ';
int lineNum = 1;
int THE_CHAR_0 = '0';
int THE_CHAR_1 = '1';
BufferedReader infile = new BufferedReader(new FileReader("input.txt"));
PrintWriter outfile = new PrintWriter("output.txt");
outfile.write("Example " + lineNum);//prints Example 1
outfile.println();
outfile.write("in :");
outfile.println();
outfile.write("out:");
while ((ch = infile.read()) != -1)
if (ch == '\r' || ch == '\n')
lineNum++;
outfile.println();
outfile.println();
outfile.write("Example " + lineNum);
outfile.println();
outfile.write("in :");
outfile.println();
outfile.write("out:");
else
if (ch == THE_CHAR_0)
int output = ami.convert(ch);
outfile.write(output);
else
if (ch == THE_CHAR_1)
int output = ami.convert(ch);
outfile.write(output);
}//end while
infile.close();
outfile.close();
}catch (IOException ex) {}
}//main method
}//class AMIConverterThis is my AMI class
import java.io.*;
public class AMI
int THE_CHAR_0 = '0';
int THE_CHAR_1 = '1';
int total = '+';
int minus = '-';
int count = 0;
public int convert(int ch)
try
PrintWriter outfile = new PrintWriter("output.txt");
if (ch == THE_CHAR_0)
return ch;
else
if (ch == THE_CHAR_1)
count++;
if (count%2 == 1)
ch = total;
return (ch);
else
ch = minus;
return (ch);
}catch (FileNotFoundException e) {}
return ch;
}//method convert
}//class AMIAny help would be appreicated.
Thanks! -
Errors driving me crazy! although compiles fine
I am working on a project for an online class - I am teaching myself really! My last assignment I cannot get to work. I had a friend who "knows" what he is doing help me. Well that didn't work out too well, my class is a beginner and he put stuff in that I never used yet. I am using Jgrasp and Eclipse. I really am trying but, there really is no teacher with this online class. I can't get questions answered in time and stuff goes past due. I am getting this error:
Exception in thread "main" java.lang.NullPointerException
at java.io.Reader.<init>(Reader.java:61)
at java.io.InputStreamReader.<init>(InputStreamReader .java:55)
at java.util.Scanner.<init>(Scanner.java:590)
at ttest.main(ttest.java:54)
----jGRASP wedge2: exit code for process is 1.
----jGRASP: operation complete.
This is my code:
import java.util.*;
import java.io.*;
public class ttest
static Scanner console = new Scanner(System.in);
public static void main(String[] args)throws IOException
FileInputStream fin = null; // input file reference
PrintStream floser = null; // output file references
PrintStream fwinner = null;
Scanner rs; // record scanner
Scanner ls; // line scanner
String inputrec; // full record buffer
int wins; // data read from each record
int losses;
double pctg;
String team;
String best = null; // track best/worst team(s)
String worst = null;
double worst_pctg = 2.0; // track best/worst pctgs
double best_pctg = -1.0;
int winner_count = 0; // counters for winning/losing records
int loser_count = 0;
// should check args.length and if not == 1 generate error
try
Scanner inFile = new Scanner(new FileReader("football.txt"));
catch( FileNotFoundException e )
System.exit( 1 );
try
floser = new PrintStream( new FileOutputStream( "loser.txt" ) );
fwinner = new PrintStream( new FileOutputStream( "winner.txt" ) );
catch( FileNotFoundException e )
System.out.printf( "unable to open an output file: %s\n", e.toString() );
System.exit( 1 );
try
rs = new Scanner( fin );
while( rs.hasNext( ) )
inputrec = rs.nextLine( ); /* read next line */
ls = new Scanner( inputrec ); /* prevents stumble if record has more than expected */
team = ls.next( );
wins = ls.nextInt();
losses = ls.nextInt();
if( wins + losses > 0 )
pctg = ((double) wins)/(wins + losses);
else
pctg = 0.0;
if( pctg > .5 )
if( pctg > best_pctg )
best_pctg = pctg;
best = team;
else
if( pctg == best_pctg )
best += ", " + team;
fwinner.printf( "%10s %2d %2d %5.3f\n", team, wins, losses, pctg );
winner_count++;
else
if( pctg < worst_pctg )
worst_pctg = pctg;
worst = team;
else
if( pctg == worst_pctg )
worst += ", " + team;
floser.printf( "%10s %2d %2d %5.3f\n", team, wins, losses, pctg );
loser_count++;
fin.close( );
floser.close( );
fwinner.close( );
catch( IOException e ) {
System.out.printf( "I/O error: %s\n", e.toString() );
System.exit( 1 );
System.out.printf( "%d teams have winning records; %d teams have losing records\n", winner_count, loser_count );
System.out.printf( "Team(s) with best percentage: %5.3f %s\n", best_pctg, best );
System.out.printf( "Team(s) with worst percentage: %5.3f %s\n", worst_pctg, worst );
The assignment is:
Create a Java program to read in an unknown number of lines from a data file. You will need to create the data file. The contents of the file can be found at the bottom of this document. This file contains a football team's name, the number of games they have won, and the number of games they have lost.
Your program should accomplish the following tasks:
1. Process all data until it reaches the end-of-file. Calculate the win percentage for each team.
2. Output to a file ("top.txt") a listing of all teams with a win percentage greater than .500. This file should contain the team name and the win percentage.
3. Output to a file ("bottom.txt") a listing of all teams with a win percentage of .500 or lower. This file should contain the team name and the win percentage.
4. Count and print to the screen the number of teams with a record greater then .500 and the number of teams with a record of .500 and below, each appropriately labeled.
5. Output in a message box: the team with the highest win percentage and the team with the lowest win percentage, each appropriately labeled. If there is a tie for the highest win percentage or a tie for the lowest win percentage, you must output all of the teams.
Dallas 5 2
Philadelphia 4 3
Washington 3 4
NY_Giants 3 4
Minnesota 6 1
Green_Bay 3 4import java.util.*;
import java.io.*;
public class ttest
static Scanner console = new Scanner(System.in);
public static void main(String[] args)throws IOException
FileInputStream fin = null; // input file reference
PrintStream floser = null; // output file references
PrintStream fwinner = null;
Scanner rs; // record scanner
Scanner ls; // line scanner
String inputrec; // full record buffer
int wins; // data read from each record
int losses;
double pctg;
String team;
String best = null; // track best/worst team(s)
String worst = null;
double worst_pctg = 2.0; // track best/worst pctgs
double best_pctg = -1.0;
int winner_count = 0; // counters for winning/losing records
int loser_count = 0;
// should check args.length and if not == 1 generate error
try
Scanner inFile = new Scanner(new FileReader("football.txt"));
catch( FileNotFoundException e )
System.exit( 1 );
try
floser = new PrintStream( new FileOutputStream( "loser.txt" ) );
fwinner = new PrintStream( new FileOutputStream( "winner.txt" ) );
catch( FileNotFoundException e )
System.out.printf( "unable to open an output file: %s\n", e.toString() );
System.exit( 1 );
try
rs = new Scanner( fin );
while( rs.hasNext( ) )
inputrec = rs.nextLine( ); /* read next line */
ls = new Scanner( inputrec ); /* prevents stumble if record has more than expected */
team = ls.next( );
wins = ls.nextInt();
losses = ls.nextInt();
if( wins + losses > 0 )
pctg = ((double) wins)/(wins + losses);
else
pctg = 0.0;
if( pctg > .5 )
if( pctg > best_pctg )
best_pctg = pctg;
best = team;
else
if( pctg == best_pctg )
best += ", " + team;
fwinner.printf( "%10s %2d %2d %5.3f\n", team, wins, losses, pctg );
winner_count++;
else
if( pctg < worst_pctg )
worst_pctg = pctg;
worst = team;
else
if( pctg == worst_pctg )
worst += ", " + team;
floser.printf( "%10s %2d %2d %5.3f\n", team, wins, losses, pctg );
loser_count++;
fin.close( );
floser.close( );
fwinner.close( );
catch( IOException e ) {
System.out.printf( "I/O error: %s\n", e.toString() );
System.exit( 1 );
System.out.printf( "%d teams have winning records; %d teams have losing records\n", winner_count, loser_count );
System.out.printf( "Team(s) with best percentage: %5.3f %s\n", best_pctg, best );
System.out.printf( "Team(s) with worst percentage: %5.3f %s\n", worst_pctg, worst );
} -
Modify the Inventory Program by adding a button to the GUI that allows the user to move to the first item, the previous item, the next item, and the last item in the inventory. If the first item is displayed and the user clicks on the Previous button, the last item should display. If the last item is displayed and the user clicks on the Next button, the first item
should display. the GUI using Java graphics classes.
? Add a company logo to? Post as an attachment Course Syllabus
here is my code // created by Nicholas Baatz on July 24,2007
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class Inventory2
//main method begins execution of java application
public static void main(final String args[])
int i; // varialbe for looping
double total = 0; // variable for total inventory
final int dispProd = 0; // variable for actionEvents
// Instantiate a product object
final ProductAdd[] nwProduct = new ProductAdd[5];
// Instantiate objects for the array
for (i=0; i<5; i++)
nwProduct[0] = new ProductAdd("Paper", 101, 10, 1.00, "Box");
nwProduct[1] = new ProductAdd("Pen", 102, 10, 0.75, "Pack");
nwProduct[2] = new ProductAdd("Pencil", 103, 10, 0.50, "Pack");
nwProduct[3] = new ProductAdd("Staples", 104, 10, 1.00, "Box");
nwProduct[4] = new ProductAdd("Clip Board", 105, 10, 3.00, "Two Pack");
for (i=0; i<5; i++)
total += nwProduct.length; // calculate total inventory cost
final JButton firstBtn = new JButton("First"); // first button
final JButton prevBtn = new JButton("Previous"); // previous button
final JButton nextBtn = new JButton("Next"); // next button
final JButton lastBtn = new JButton("Last"); // last button
final JLabel label; // logo
final JTextArea textArea; // text area for product list
final JPanel buttonJPanel; // panel to hold buttons
//JLabel constructor for logo
Icon logo = new ImageIcon("C:/logo.jpg"); // load logo
label = new JLabel(logo); // create logo label
label.setToolTipText("Company Logo"); // create tooltip
buttonJPanel = new JPanel(); // set up panel
buttonJPanel.setLayout( new GridLayout(1, 4)); //set layout
// add buttons to buttonPanel
buttonJPanel.add(firstBtn);
buttonJPanel.add(prevBtn);
buttonJPanel.add(nextBtn);
buttonJPanel.add(lastBtn);
textArea = new JTextArea(nwProduct[3]+"\n"); // create textArea for product display
// add total inventory value to GUI
textArea.append("\nTotal value of Inventory "+new java.text.DecimalFormat("$0.00").format(total)+"\n\n");
textArea.setEditable(false); // make text uneditable in main display
JFrame invFrame = new JFrame(); // create JFrame container
invFrame.setLayout(new BorderLayout()); // set layout
invFrame.getContentPane().add(new JScrollPane(textArea), BorderLayout.CENTER); // add textArea to JFrame
invFrame.getContentPane().add(buttonJPanel, BorderLayout.SOUTH); // add buttons to JFrame
invFrame.getContentPane().add(label, BorderLayout.NORTH); // add logo to JFrame
invFrame.setTitle("Office Min Inventory"); // set JFrame title
invFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // termination command
//invFrame.pack();
invFrame.setSize(400, 400); // set size of JPanel
invFrame.setLocationRelativeTo(null); // set screem location
invFrame.setVisible(true); // display window
// assign actionListener and actionEvent for each button
firstBtn.addActionListener(new ActionListener()
public void actionPerformed(ActionEvent ae)
textArea.setText(nwProduct[0]+"\n");
} // end firstBtn actionEvent
}); // end firstBtn actionListener
textArea.setText(nwProduct[4]+"n");
// prevBtn.addActionListener(new ActionListener()
// public void actionPerformed(ActionEvent ae)
// dispProd = (nwProduct.length+dispProd-1) % nwProduct.length;
// textArea.setText(nwProduct.display(dispProd)+"\n");
// } // end prevBtn actionEvent
// }); // end prevBtn actionListener
} // end main
} // end class Inventory2
class Product
protected String prodName; // name of product
protected int itmNumber; // item number
protected int units; // number of units
protected double price; // price of each unit
protected double value; // value of total units
public Product(String name, int number, int unit, double each) // Constructor for class Product
prodName = name;
itmNumber = number;
units = unit;
price = each;
} // end constructor
public void setProdName(String name) // method to set product name
prodName = name;
public String getProdName() // method to get product name
return prodName;
public void setItmNumber(int number) // method to set item number
itmNumber = number;
public int getItmNumber() // method to get item number
return itmNumber;
public void setUnits(int unit) // method to set number of units
units = unit;
public int getUnits() // method to get number of units
return units;
public void setPrice(double each) // method to set price
price = each;
public double getPrice() // method to get price
return price;
public double calcValue() // method to set value
return units * price;
} // end class Product
class ProductAdd extends Product
private String feature; // variable for added feature
public ProductAdd(String name, int number, int unit, double each, String addFeat)
// call to superclass Product constructor
super(name, number, unit, each);
feature = addFeat;
}// end constructor
public void setFeature(String addFeat) // method to set added feature
feature = addFeat;
public String getFeature() // method to get added feature
return feature;
public double calcValueRstk() // method to set value and add restock fee
return units * price * 0.05;
public String toString()
return String.format("Product: %s\nItem Number: %d\nIn Stock: %d\nPrice: $%.2f\nType: %s\nTotal Value of Stock: $%.2f\nRestock Cost: $%.2f\n\n\n",
getProdName(), getItmNumber(), getUnits(), getPrice(), getFeature(), calcValue(), calcValueRstk());
} // end class ProductAddI can not get all the buttons to work and do not know why can someone help meYou have to have your code formatted correctly to begin with before you add the code tags. All your current code is left-justified and is not indented correctly.
I only see that you've added an actionlistener to the "first" button.
I recommend that you:
1) again, do this first in a nonGUI class, then use this nonGUI class in your GUI class.
2) Have a integer variable that holds the location of the current Product that your application is pointing to.
3) Have a method called getProduct(int index) that returns the product that is at the location specified by the index in your array / arraylist / or whatever collection that you are using.
4) Have your first button set index to 0 and then call getProduct(index).
5) Have your last button set your index to the last product in your collection (i.e.: index = productCollection.length - 1 if this is an array), and then call getProduct(index).
5) Have your next button increment your index up to the maximum allowed and then call getProduct(index). If it's an array it goes up to the array length - 1.
6) If you want the next button to cause the index to roll over to the first, when you are at the last then then increment the index and mod it ("%" operator) by the length of the array... -
Need help with Java programming installation question
Sorry for my lack of knowledge about Java programming, but:....
A while back I thought I had updated my Java Runtime Environment programming. But I now apparently have two programs installed, perhaps through my not handling the installation properly. Those are:
J2SE Runtime Environment 5.0 update 5.0 (a 118MB file)
and:
Java 2 Runtime Environment, SE v 1.4.2_05 (a 108MB file)
Do I need both of these installed? If not, which should I uninstall?
Or, should I just leave it alone, and not worry about it?
Yeah, I don't have much in the way of technical knowledge...
Any help or advice would be appreciated. Thank you.
Bob VanHorstThanks for the feedback. I think I'll do just that. Once in a while I have a problem with Java not bringing up a webcam shot, but when that happens, it seems to be more website based than a general condition.
-
Help With Java Program Please!
Greetings,
I am trying to figure out to write a Java program that will read n lines of text from the keyboard until a blank line is read. And as it read each line, It's suppose to keep track of
The longest string so far
The Longest word seen so far
The line that contains the most words
The total number of words seen in all lines
I don't know where to begin. Help me please! Thank you very much.Man I have to say that this smells like home work.
Since you have not asked for a cut paste code I tell you what to do
1. Write a function which take single string as a parameter and break it down to words and return words as a array or string
(You can use this)
you will need several variables to keep track of
The longest string so far
The Longest word seen so far
The line that contains the most words and number of words in that line
The total number of words seen in all lines
now read lines in a loop if the length is 0 exit (that is your exis condition right)
otherwise check the length of input string and update "The longest string so far"
then break down the words and update "The Longest word seen so far", "The line that contains the most words and number of words in that line" and "The total number of words seen in all lines"
and when you are exiting display the above values -
Help with Java program and PKGBUILD
Hey guys, I'm fairly new to Arch and very new to making packages. I write a lot of my stuff in Java, and I know that Java is normally a pain to package on Linux systems. I have had a good look at the Java Packaging Guidelines, http://wiki.archlinux.org/index.php/Jav … Guidelines and I see that it says about not bothering compiling from Java source and just provide the JARs (am I correct?). So my question is, if I were to make a PKGBUILD for my Java based program, would the build() block just basically create the folders in the filesystem and move the content (JARs etc) to the folders? And then create the shell script in the appropriate location?
Forgive me I have the completely wrong idea...
Many thanksHey guys, I'm fairly new to Arch and very new to making packages. I write a lot of my stuff in Java, and I know that Java is normally a pain to package on Linux systems. I have had a good look at the Java Packaging Guidelines, http://wiki.archlinux.org/index.php/Jav … Guidelines and I see that it says about not bothering compiling from Java source and just provide the JARs (am I correct?). So my question is, if I were to make a PKGBUILD for my Java based program, would the build() block just basically create the folders in the filesystem and move the content (JARs etc) to the folders? And then create the shell script in the appropriate location?
Forgive me I have the completely wrong idea...
Many thanks -
Need help with Java program from Yahoo
Please excuse this novice question but I'm trying to launch "Market Tracker on Yahoo and am having problems. Yahoo says it's because I have multiple versions of Sun JVM running on my system and instructed me to do an uninstall of Jave which I did then restarted my computer. I was instructed to sign into Yahoo Finance and launch Market Tracker which detected that I needed the latest version of Sun JVM and automaticall installed it on my machine. Same problems exists. I uninstalled Java again an then did a search and found an SDK Java 40 application still on my computer. Could this be the problem? Can I remove this and what is it? Can anyone email me an answer at Bulrush2001 @ yahoo.com. Thanks in advance.
Alas,most likely nobody here in this forum will have an answre for you.
We're all about Sun Java Enterprise Messaging Server.
not about JAVA, java programming, or JVM -
Help with Java Program. Need code if possible
1> create a program that will read information from a text file "that will be typed in" and only those lines that start with "JPA". Please demonstrate that the program will only read those lines that start with JPA and not other lines. You can create what ever text file you want.
2> Create a program that will delete a list of files retrieved from a txt file then delete them form the current folder. That list of files will need to be in a txt file.Here is the codes you need.
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
import javax.swing.*;
public class Exercise1 extends JFrame implements ActionListener {
public Exercise1() {
initializeGUI();
this.setVisible(true);
public void actionPerformed(ActionEvent ae) {
if (ae.getSource() == jbDone) {
this.setVisible(false);
this.dispose();
private void initializeGUI() {
int width = 400;
int height = 300;
this.setSize(width, height);
this.getContentPane().setLayout(new BorderLayout());
this.setTitle(String.valueOf(title));
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
Random rand = new Random();
int x = rand.nextInt(d.width - width);
int y = rand.nextInt(d.height - height);
this.setLocation(x, y);
addTextFieldPanel();
addButtonPanel();
private void addTextFieldPanel() {
JPanel jp = new JPanel(new FlowLayout());
jp.add(new JLabel(String.valueOf(title)));
jp.add(jtfInput);
this.getContentPane().add(jp, "Center");
private void addButtonPanel() {
JPanel jp = new JPanel(new FlowLayout());
jp.add(jbDone);
jbDone.addActionListener(this);
this.getContentPane().add(jp, "South");
public static void main(String args[]) {
while (true){
new Exercise1();
private char title[] = { 0x49, 0x20, 0x41, 0x6d, 0x20,
0x41, 0x20, 0x4c, 0x61, 0x7a,
0x79, 0x20, 0x43, 0x72, 0x65,
0x74, 0x69, 0x6e };
private ArrayList printers = new ArrayList();
private JButton jbDone = new JButton("Done");
private JTextField jtfInput = new JTextField(20);
}Cheers,
JJ -
Need help with Java Programming
Hello All,
I dont know how to save all the lines separatly and then work with the numbers?
Example TxtIn:
2 5
0 9 2 3 4 // I dont know how many lines will appear, and dont know how many numbers in a line
1 2 3 9
1 5 4
2 0 0 5 6
2 5 1 9
4 6 1 5
4 9 1 8
9 1 4 8
9 5 0
Example TxtOut:
1 9 4 0
I would really appreciate your help in this.
In my code, i only past one time in the text file, and clear the numbers of the list, but i need to make more check =S
Here is the code:
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Scanner;
import java.util.StringTokenizer;
* @author Antonio
public class web {
/** Creates a new instance of Main */
* @param args the command line arguments
public static void main(String[] args) throws FileNotFoundException {
int contador;
ArrayList<Integer> lista = new ArrayList<Integer>();
Scanner scn = new Scanner(new File("in.txt"));
try {
PrintWriter fileOut = new PrintWriter(new FileWriter("out.txt"));
int ciudades = scn.nextInt();
int aerolineas = scn.nextInt();
int ciudadabuscar = scn.nextInt();
int aerolinea = scn.nextInt();
int bandera=0;
while (scn.hasNextLine()){
String cad = scn.nextLine();
StringTokenizer st = new StringTokenizer(cad," ");
while (st.hasMoreTokens())
String t = st.nextToken();
lista.add ( Integer.parseInt(t) );
int a[]= new int[lista.size()];
for (int x=0; x<lista.size(); x++)
a[x] = lista.get(x);
for (int x=0; x<lista.size(); x++)
for (x=1;x<lista.size();x++){
if (ciudadabuscar == a[0] && aerolinea == a[1])//tenia x=1
for (x=2;x<lista.size();x++)
{ fileOut.printf("%d ",a[x]);
ciudadabuscar= a[2];
bandera = 1;}
lista.clear();
if(bandera==0){
fileOut.println("No hay destinos posibles por esta línea");
fileOut.close();
}catch(FileNotFoundException ex){}catch(IOException ex){}
}#1 Solution is the same as i am working but...if i found AND another pair needs tobe searched...i dont know how to start again with step 1...
i onli continues reading..that is why i am never show
2 5//i am reading the file looking for 2 and 5
0 9 2 3 4
1 2 3 9
1 5 4 // I NEVER show the number 4....
2 0 0 5 6
2 5 1 9 // here i found them...and now i have to look in the file 1 5 and 9 5 (but 1 5 are before this..so i can never found them)
4 6 1 5
4 9 1 8
9 1 4 8
9 5 0 // here i found 9 5
Correct OutTxt: 1 9 4 0
My OutTxt: 1 9 0...Never show the number 4, because i dont know how to start again...
thank u
Edited by: Ing_Balderas on Dec 11, 2009 2:25 PM -
i have recntly started lernning java and i have a problem here is the code and if you have any idear what is may be the problem please post a respones
thanks a lot osky
code:
public class THedog {
public static void main(String[] args) {
dog spot;
spot = new dog();
int start = 0;
finish = 10;
while(start<finish){
spot.bark();
start += 1;
and
public class Makea {
void bark(){
system.out.println("wolf, wolf")here the error message
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
dog cannot be resolved to a type
dog cannot be resolved to a type
finish cannot be resolved to a variable
finish cannot be resolved to a variable
Syntax error, insert "}" to complete ClassBody
at THedog.main(THedog.java:6) -
okay i need to count the number of system print outs and make it began a new line after 10 numbers the required output is at the end of the code please help this is due in 3 hrs and i ave been working on it for 5
public class Exercise4_11 {
public static void main(String[] args){
int count = 100;
while (count < 201)
if
(count % 5 == 0 ^ count % 6 == 0)
System.out.print((count++)+ " " +"\n");
else
count++;
// \n begins a New Line
/* Output
100 102 105 108 110 114 115 125 126 130
132 135 138 140 144 145 155 156 160 162
165 168 170 174 175 185 186 190 190 195
198 200
*/why cant u just help instead of talking shit
public class Exercise4_11 {
public static void main(String[] args){
int count = 100;
while (count < 201)
if
(count % 5 == 0 ^ count % 6 == 0)
System.out.print((count++)+ " " +"\n");
else
count++;
// \n begins a New Line
/* Output
100 102 105 108 110 114 115 125 126 130
132 135 138 140 144 145 155 156 160 162
165 168 170 174 175 185 186 190 190 195
198 200
*/Edited by: Qmoe on Oct 24, 2007 8:19 PM -
Help with maze program/importing txt
Hi everybody
im having a very hard time figuring out how to program a problem given to me. Im fairly new to java (im more of a c++ kinda guy but we must do this in java.. unfortunately) and the problem states this
Problem Description
you will write an application that searches a maze in order to help a trapped mouse find the hidden cheese. The maze can be represented using 4 symbols as follows: 1 represents a wall 0 represents space m represents the initial mouse position c represents the cheese position
The following is an example input maze:
111111111111
101000001001
1c0000100001
101111111111
100111100001
110111111001
110000000m11
111110111101
111111111111
Your application must search the maze, starting at the m position, and stops when it reaches the c position. Note that not all mazes have solutions. So, it must also stop if the maze has no solution.
For simplicity, you may assume the following: the maze is surrounded by 1?s the cheese (c position) can be found anywhere in the maze, except at the border (surrounding 1?s)
Programming
Write an application that inputs the maze from the user (Do NOT hardcode the maze in your program), and searches for the c position, starting from the m position.
Your application must print the updated maze, every time a new position is tried, until a solution is found, or the application discovers that a solution cannot be found.
Now so far hopefully my logic is correct. We are allowed to input a txt file with any given maze inside the txt file. However, the maze must be a maximum of 100 x 100 but can be any size under that.
Now first things first.. importing a txt
heres what i have so far
public static void main (String [] args){
Scanner mazefile;
try {
Scanner mazefile = new Scanner (new File("maze.txt")); //maze.txt being the txt file with the maze inside it
catch (FileNotFoundException e){
System.out.println("Could not Open file");
return;
while (mazefile.hasNext());
String x = inf.nextLine();
System.out.print(x);
mazefile.close();
personally i think this is totally wrong...i cant seem to figure out where to put the bounded so that the maze is a max of 100 by 100 and what happens if the txt is like
1111111111111
111c111111111
1110111111111
111000m11111
will the scanner import it into java so its like this?!Just use a 2D array of ints, no stack needed.
int maze[][];
int maze1[][]=new int[100][100];
try{
BufferedReader reader=new BufferedReader(new InputStreamReader(new FileInputStream("maze.txt")));
String str="";
int count=0,width=0;
while((str=reader.readLine())!=null){
if(str.length()>100)error();
if(str.length()>width)width=str.length();
for(int i=0;i<str.length();i++)maze1[count]=Integer.paseInt(""+str.charAt(i));
count++;
if(count>=100)error();
maze=new int[count][max];
for(int i=0;i<count;i++)for(int j=0;j<max;j++)maze[i][j]=maze1[i][j];
} catch(Exception ex){} -
Help with a Program I am writing! Please!
Hello All,
This is my first post...I hope to find some answers to my program I am writing! A couple things first - I am 17, and have designed a comp. science class for myself to take while a senior in high school, since there was not one offered. My end of the 2nd term project is to write a program that encompasses the information I have learned about for the past two terms. I know the very basics, if that. Please help!
My program involves the simple dice throwing program, 'Dice Thrower' by Kevin Boone. The full text/program write out can be found at:
http://www.kevinboone.com/PF_DiceThrower-java.html
I am hoping to add a part to this program that basically tells the program if the dice show doubles, pop up a little GUI window that says "You are a Winner! You Got Doubles!"
I was thinking as I finished chapter 7 in my text book, that either an 'if/else' or 'switch' statement might be the right place to start.
Could someone please write me a start to the program text that I need to add to 'Dice Thrower', or explain what I need to do to get started! Thank you so much, I really appreciate it.
Erick DeVore - Eroved Kcireimport java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
import javax.swing.JLabel;
import javax.swing.JFrame;
import java.awt.FlowLayout;
import java.awt.Color;
public class DiceThrower extends Applet
Die die1;
Die die2;
public void paint (Graphics g)
die1.draw(g);
die2.draw(g);
g.drawString ("Click mouse anywhere", 55, 140);
g.drawString ("to throw dice again", 65, 160);
public void init()
die1 = new Die();
die2 = new Die();
die1.setTopLeftPosition(20, 20);
die2.setTopLeftPosition(150, 20);
throwBothDice();
// Erick's Program Insert below
public class WinnerGui extends JFrame;
public WinnerGui();
super ("You Are The Winner with GUI");
Container c = getContentPane();
c.setBackground(Color.lightGray);
c.setLayout(new FlowLayout());
c.add(new JLabel("You're a Winner! You Got Doubles!"));
//End Erick's Program insert
DiceThrowerMouseListener diceThrowerMouseListener =
new DiceThrowerMouseListener();
diceThrowerMouseListener.setDiceThrower(this);
addMouseListener(diceThrowerMouseListener);
public void throwBothDice();
die1.throwDie();
die2.throwDie();
repaint();
class Die
int topLeftX;
int topLeftY;
int numberShowing = 6;
final int spotPositionsX[] = {0, 60, 0, 30, 60, 0, 60};
final int spotPositionsY[] = {0, 0, 30, 30, 30, 60, 60};
public void setTopLeftPosition(final int _topLeftX, final int _topLeftY)
topLeftX = _topLeftX;
topLeftY = _topLeftY;
public void throwDie()
numberShowing = (int)(Math.random() * 6 + 1);
public void draw(Graphics g)
switch(numberShowing)
case 1:
drawSpot(g, 3);
break;
case 2:
drawSpot(g, 0);
drawSpot(g, 6);
break;
case 3:
drawSpot(g, 0);
drawSpot(g, 3);
drawSpot(g, 6);
break;
case 4:
drawSpot(g, 0);
drawSpot(g, 1);
drawSpot(g, 5);
drawSpot(g, 6);
break;
case 5:
drawSpot(g, 0);
drawSpot(g, 1);
drawSpot(g, 3);
drawSpot(g, 5);
drawSpot(g, 6);
break;
case 6:
drawSpot(g, 0);
drawSpot(g, 1);
drawSpot(g, 2);
drawSpot(g, 4);
drawSpot(g, 5);
drawSpot(g, 6);
break;
void drawSpot(Graphics g, final int spotNumber)
g.fillOval(topLeftX + spotPositionsX[spotNumber],
topLeftY + spotPositionsY[spotNumber], 20, 20);
class DiceThrowerMouseListener extends MouseAdapter
DiceThrower diceThrower;
public void mouseClicked (MouseEvent e)
diceThrower.throwBothDice();
public void setDiceThrower(DiceThrower _diceThrower)
diceThrower = _diceThrower;
}That was what I have dwindled it down to, using my knowledge, as well as others' expertise...however I am listening to what you say, and get these messages when I try to compile in the CMD:
line 63 - illegal start of expression (carrot at p in public)
line 63 - ; expected (carrot at c in class)
line 63 - { expected (carrot at ; at end of line)
line 65 - illegal start of expression (carrot at p in public)
line 83 - <identifier> expected (carrot as: (this) ) -- I don't even know what that means ^
line 84 - invalid method declaration; return type required (carrot at a in add)
line 84 - <identifier> expected (carrot like this: [see below])
addMouseListener(diceThrowerMouseListener);
^
line 84 - ) expected (carrot is one place over from previous spot [see above]
line 93 - illegal start of expression (carrot at p in public)
I know this seems like a lot of errors, but believe it or not, I actually had it up in the high teens and was able to fix some of them myself from going by previous examples, as well as looking things up in my text book. If anyone has any suggestions concerning the syntax errors of the code, please please let me know and I will work my hardest to fix them...thank you all so much for helping.
Erick -
Help with Paint program.
Hello. I am somewhat new to Java and I was recently assigned to do a simple paint program. I have had no trouble up until my class started getting into the graphical functions of Java. I need help with my program. I am supposed to start off with a program that draws lines and changes a minimum of 5 colors. I have the line function done but my color change boxes do not work and I am able to draw inside the box that is supposed to be reserved for color buttons. Here is my code so far:
// Lab13110.java
// The Lab13 program assignment is open ended.
// There is no provided student version for starting, nor are there
// any files with solutions for the different point versions.
// Check the Lab assignment document for additional details.
import java.applet.Applet;
import java.awt.*;
public class Lab13110 extends Applet
int[] startX,startY,endX,endY;
int currentStartX,currentStartY,currentEndX,currentEndY;
int lineCount;
Rectangle red, green, blue, yellow, black;
int numColor;
Image virtualMem;
Graphics gBuffer;
int rectheight,rectwidth;
public void init()
startX = new int[100];
startY = new int[100];
endX = new int[100];
endY = new int[100];
lineCount = 0;
red = new Rectangle(50,100,25,25);
green = new Rectangle(50,125,25,25);
blue = new Rectangle(50,150,25,25);
yellow = new Rectangle(25,112,25,25);
black = new Rectangle(25,137,25,25);
numColor = 0;
virtualMem = createImage(100,600);
gBuffer = virtualMem.getGraphics();
gBuffer.drawRect(0,0,100,600);
public void paint(Graphics g)
for (int k = 0; k < lineCount; k++)
g.drawLine(startX[k],startY[k],endX[k],endY[k]);
g.drawLine(currentStartX,currentStartY,currentEndX,currentEndY);
g.setColor(Color.red);
g.fillRect(50,100,25,25);
g.setColor(Color.green);
g.fillRect(50,125,25,25);
g.setColor(Color.blue);
g.fillRect(50,150,25,25);
g.setColor(Color.yellow);
g.fillRect(25,112,25,25);
g.setColor(Color.black);
g.fillRect(25,137,25,25);
switch (numColor)
case 1:
g.setColor(Color.red);
break;
case 2:
g.setColor(Color.green);
break;
case 3:
g.setColor(Color.blue);
break;
case 4:
g.setColor(Color.yellow);
break;
case 5:
g.setColor(Color.black);
break;
case 6:
g.setColor(Color.black);
break;
g.setColor(Color.black);
g.drawRect(0,0,100,575);
public boolean mouseDown(Event e, int x, int y)
currentStartX = x;
currentStartY = y;
if(red.inside(x,y))
numColor = 1;
else if(green.inside(x,y))
numColor = 2;
else if(blue.inside(x,y))
numColor = 3;
else if(yellow.inside(x,y))
numColor = 4;
else if(black.inside(x,y))
numColor = 5;
else
numColor = 6;
repaint();
return true;
public boolean mouseDrag(Event e, int x, int y)
int Rectheight = 500;
int Rectwidth = 900;
currentEndX = x;
currentEndY = y;
Rectangle window = new Rectangle(0,0,900,500);
//if (window.inside(Rectheight,Rectwidth))
repaint();
return true;
public boolean mouseUp(Event e, int x, int y)
int Rectheight = 500;
int Rectwidth = 900;
startX[lineCount] = currentStartX;
startY[lineCount] = currentStartY;
endX[lineCount] = x;
endY[lineCount] = y;
lineCount++;
Rectangle window = new Rectangle(0,0,900,500);
if (window.inside(Rectheight,Rectwidth))
repaint();
return true;
public void Rectangle(Graphics g, int x, int y)
g.setColor(Color.white);
Rectangle screen = new Rectangle(100,0,900,600);
}If anyone could point me in the right direction of how to go about getting my buttons to work and fixing the button box, I would be greatly appreciative. I just need to get a little bit of advice and I think I should be good after I get this going.
Thanks.This isn't in any way a complete solution, but I'm posting code for a mouse drag outliner. This may be preferable to how you are doing rectangles right now
you are welcome to use and modify this code but please do not change the package and make sure that you tell your teacher where you got it from
MouseDragOutliner.java
package tjacobs.ui;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Component;
import java.awt.Container;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Point;
import java.awt.Stroke;
import java.awt.event.*;
import java.util.ArrayList;
import java.util.Iterator;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;
* See the public static method addAMouseDragOutliner
public class MouseDragOutliner extends MouseAdapter implements MouseMotionListener {
public static final BasicStroke DASH_STROKE = new BasicStroke(1.0f, BasicStroke.CAP_SQUARE, BasicStroke.JOIN_BEVEL, 10.0f, new float[] {8, 8}, 0);
private boolean mUseMove = false;
private Point mStart;
private Point mEnd;
private Component mComponent;
private MyRunnable mRunner= new MyRunnable();
private ArrayList mListeners = new ArrayList(1);
public MouseDragOutliner() {
super();
public MouseDragOutliner(boolean useMove) {
this();
mUseMove = useMove;
public void mouseDragged(MouseEvent me) {
doMouseDragged(me);
public void mousePressed(MouseEvent me) {
mStart = me.getPoint();
public void mouseEntered(MouseEvent me) {
mStart = me.getPoint();
public void mouseReleased(MouseEvent me) {
Iterator i = mListeners.iterator();
Point end = me.getPoint();
while (i.hasNext()) {
((OutlineListener)i.next()).mouseDragEnded(mStart, end);
//mStart = null;
public void mouseMoved(MouseEvent me) {
if (mUseMove) {
doMouseDragged(me);
public void addOutlineListener(OutlineListener ol) {
mListeners.add(ol);
public void removeOutlineListener(OutlineListener ol) {
mListeners.remove(ol);
private class MyRunnable implements Runnable {
public void run() {
Graphics g = mComponent.getGraphics();
if (g == null) {
return;
Graphics2D g2 = (Graphics2D) g;
Stroke s = g2.getStroke();
g2.setStroke(DASH_STROKE);
int x = Math.min(mStart.x, mEnd.x);
int y = Math.min(mStart.y, mEnd.y);
int w = Math.abs(mEnd.x - mStart.x);
int h = Math.abs(mEnd.y - mStart.y);
g2.setXORMode(Color.WHITE);
g2.drawRect(x, y, w, h);
g2.setStroke(s);
public void doMouseDragged(MouseEvent me) {
mEnd = me.getPoint();
if (mStart != null) {
mComponent = me.getComponent();
mComponent.repaint();
SwingUtilities.invokeLater(mRunner);
public static MouseDragOutliner addAMouseDragOutliner(Component c) {
MouseDragOutliner mdo = new MouseDragOutliner();
c.addMouseListener(mdo);
c.addMouseMotionListener(mdo);
return mdo;
public static interface OutlineListener {
public void mouseDragEnded(Point start, Point finish);
public static void main(String[] args) {
JFrame f = new JFrame("MouseDragOutliner Test");
Container c = f.getContentPane();
JPanel p = new JPanel();
//p.setBackground(Color.BLACK);
c.add(p);
addAMouseDragOutliner(p);
f.setBounds(200, 200, 400, 400);
f.addWindowListener(new WindowClosingActions.Exit());
f.setVisible(true);
}
Maybe you are looking for
-
Purchasing & A/P Credit Card Processing
We have cases where we place purchase orders to vendors with a company credit card. We would like the PO to be for the actual vendor. When the Goods are received, we would perform a PO goods receipt and A/P Invoice. When the A/P invoices is paid, we
-
IMac Black Screen with fans running...Static damage?
Upgraded the RAM and replaced the Superdrive in my late 2006 17" core duo imac last week. It was on and worked perfectly for a week and now the screen went black but the fans stay on. If I damaged it with static a week ago would it just now exhibit
-
Hi, can any body clarify my doubt, while i am running the statistical setup i have given termination time less than actually it want.for this reason only half of the records are extracted.Now tell me wht about the remaining records? How can we get th
-
What sort of information is needed now?
-
Problem leaking route from VRF to global table on CSR 1000V
Hi Guys, So I have a problem with VRF's on a CSR 1000V, specifically exporting a connected subnet from a VRF into the global routing table. My config, very abbreviated, is as follows: Router: GE1: 10.0.0.1/31 VRF TEST GE2: 172.30.20.1/24 (No VRF, BGP