| | |
Homework help
Please support our Java advertiser: Programming Forums - DaniWeb Sister Site
![]() |
Hi all,
I'm new here, and am currently taking an introductory programming course taught with Java 5. I really hate to come here, and bother people with my homework, but I really don't have anywhere else to turn at the moment. I have a couple of quick questions about some assignments. Any help you all could give me would be very much apreciated.
My first question concerns an assignment I have already completed, but had alot of problems with scanner commands on. We were given a shell program to copy, and modify, however there was a problem with a section of the program that I coppied not working correctly.
Here is the problem section:
For some reason when the program ran the "rating = scan.nextLine();" was ignored. When the previous scan command "currentSalary = scan.nextDouble();" was removed from the program though the scan.nextLine(); command would work. I wound up using scan.next instead of scan.nextLine, and the program ran as intended.
I'm just curious why this happened.
My second question concerns a CodeLab(a programming Q & A website) question that I have been stuck on for quite some time. Here is the question:
I know how to write a constructor, my problem is using the previous instance as a parameter. I've played with this problem for hours, but haven't figured out a working constructor yet. If anyone could give me some kind of hint on what kind parameter type I should use for this it would be a big help.
Thanks in advance.
I'm new here, and am currently taking an introductory programming course taught with Java 5. I really hate to come here, and bother people with my homework, but I really don't have anywhere else to turn at the moment. I have a couple of quick questions about some assignments. Any help you all could give me would be very much apreciated.
My first question concerns an assignment I have already completed, but had alot of problems with scanner commands on. We were given a shell program to copy, and modify, however there was a problem with a section of the program that I coppied not working correctly.
Here is the problem section:
Java Syntax (Toggle Plain Text)
import java.util.Scanner; import java.text.NumberFormat; public class Salary { public static void main (String[] args) { double currentSalary; // employee's current salary double raise; // amount of the raise double newSalary; // new salary for the employee String rating; // performance rating Scanner scan = new Scanner(System.in); System.out.print ("Enter the current salary: "); currentSalary = scan.nextDouble(); System.out.print ("Enter the performance rating (Excellent, Good, or Poor): "); rating = scan.nextLine();
For some reason when the program ran the "rating = scan.nextLine();" was ignored. When the previous scan command "currentSalary = scan.nextDouble();" was removed from the program though the scan.nextLine(); command would work. I wound up using scan.next instead of scan.nextLine, and the program ran as intended.
I'm just curious why this happened.
My second question concerns a CodeLab(a programming Q & A website) question that I have been stuck on for quite some time. Here is the question:
•
•
•
•
A class named Clock has two instance variables: hours (type int ) and isTicking (type boolean) . Write a constructor that takes a reference to an existing Clock object as a parameter and copies that object's instance variables to the object being created.
Your task: Write a Clock constructor that makes this possible. Just write this constructor -- don't write the whole class or any code outside of the class!
For example, if cl is a reference to a Clock object, whose hours and isTicking values are 10 and false respectively, the expression new Clock(cl) results in a new Clock object, whose instance variables' values are also 10 and false.
Thanks in advance.
•
•
Join Date: Jun 2004
Posts: 2,108
Reputation:
Solved Threads: 18
On the first exercise, you should have used .next() to read the string instead of .readLine(). I'm not sure why that didn't work unless that method is only for the BufferedReader. Maybe someone can help clarify that for you.
On the second assignment, you should have something of the sort:
That is of course only the constructor. That should help you out a little. For me to help you out more, you'll have to show some work so I don't get yelled at for doing someones homework. One more thing, when I'm assigning those objects variables to the current objects, I'm guessing you have methods in the other class that returns the variables value.
Java Syntax (Toggle Plain Text)
rating = scan.next();
On the second assignment, you should have something of the sort:
Java Syntax (Toggle Plain Text)
variable 1; variable 2; public constructorName(Clock c) { this.variable1 = c.getVariable1(); this.variable2 = c.getVariable2(); } }
That is of course only the constructor. That should help you out a little. For me to help you out more, you'll have to show some work so I don't get yelled at for doing someones homework. One more thing, when I'm assigning those objects variables to the current objects, I'm guessing you have methods in the other class that returns the variables value.
•
•
Join Date: Jun 2004
Posts: 2,108
Reputation:
Solved Threads: 18
I was reading the api for Scanner and I could not find any readLine method. I think the reason it was allowed to compile, is somewhere down the line it inherits that method...But if it inherited it, it should be able to use it...?? I'm confused on that one. I know the readLine() method is suppose to be for the BufferedReader, but it didn't give us a syntax error.
You missunderstood my question conserning the scanner methods a bit. The problem command was nextLine, not readLine. I'll try and explain a little better.
As part of a larger program I need to scan a double and a string token, and for some reason the nextLine command would not work when proceeded by a nextDouble, however it would work if the proceeding nextDouble was removed from the program. So here are three short programs I used to test the issue, and the results...
This would scan the double, then print the double, and then end. Skipping the nextLine command in the process.
Now without the proceeding nextDouble. It will scan the string, and print it.
Finally, if I use next instead of nextLine. It scans both the double, and the string token, and prints both.
As part of a larger program I need to scan a double and a string token, and for some reason the nextLine command would not work when proceeded by a nextDouble, however it would work if the proceeding nextDouble was removed from the program. So here are three short programs I used to test the issue, and the results...
Java Syntax (Toggle Plain Text)
import java.util.Scanner; public class STest { public static void main (String[] args) { double currentSalary; // employee's current salary String rating; // performance rating Scanner scan = new Scanner(System.in); System.out.print ("Enter the current salary: "); currentSalary = scan.nextDouble(); System.out.print ("Enter the performance rating (Excellent, Good, or Poor): "); rating = scan.nextLine(); System.out.println(""+currentSalary); System.out.println(""+rating); } }
This would scan the double, then print the double, and then end. Skipping the nextLine command in the process.
Java Syntax (Toggle Plain Text)
import java.util.Scanner; public class STest { public static void main (String[] args) { String rating; // performance rating Scanner scan = new Scanner(System.in); System.out.print ("Enter the performance rating (Excellent, Good, or Poor): "); rating = scan.next(); System.out.println(""+currentSalary); } }
Now without the proceeding nextDouble. It will scan the string, and print it.
Java Syntax (Toggle Plain Text)
import java.util.Scanner; public class STest { public static void main (String[] args) { double currentSalary; // employee's current salary String rating; // performance rating Scanner scan = new Scanner(System.in); System.out.print ("Enter the current salary: "); currentSalary = scan.nextDouble(); System.out.print ("Enter the performance rating (Excellent, Good, or Poor): "); rating = scan.next(); System.out.println(""+currentSalary); System.out.println(""+rating); } }
Finally, if I use next instead of nextLine. It scans both the double, and the string token, and prints both.
Opps the second program should use the nextLine method not the next method so...
Java Syntax (Toggle Plain Text)
import java.util.Scanner; public class STest { public static void main (String[] args) { String rating; // performance rating Scanner scan = new Scanner(System.in); System.out.print ("Enter the performance rating (Excellent, Good, or Poor): "); rating = scan.nextLine(); System.out.println(""+currentSalary); } }
•
•
Join Date: Sep 2008
Posts: 1,657
Reputation:
Solved Threads: 206
0
#8 Oct 22nd, 2009
Tenchi, your problem with the nextLine() not working is the same problem I recently explained to another user on Daniweb. I'll paste my response to him here since the problem you have is exactly identical.
"The reason it gives you trouble is because when the user enters an integer then hits enter, two things have just been entered - the integer and a "newline" which is \n. The method you are calling, "nextInt", only reads in the integer, which leaves the newline in the input stream. But calling nextLine() does read in newlines, which is why you had to call nextLine() before your code would work. You could have also called next(), which would also have read in the newline."
"The reason it gives you trouble is because when the user enters an integer then hits enter, two things have just been entered - the integer and a "newline" which is \n. The method you are calling, "nextInt", only reads in the integer, which leaves the newline in the input stream. But calling nextLine() does read in newlines, which is why you had to call nextLine() before your code would work. You could have also called next(), which would also have read in the newline."
Out.
0
#9 Oct 23rd, 2009
No, this forum does not allow members doing other's homework .
![]() |
Similar Threads
- We only give homework help to those who show effort (Computer Science)
- Need help with Computer Science homework (Computer Science)
- Dynamic memory allocation homework (C++)
- Homework Help!! Priority Queue ?? (Computer Science)
Other Threads in the Java Forum
- Previous Thread: Loading text file into JTable
- Next Thread: capturing images using java
Views: 3320 | Replies: 8
| Thread Tools | Search this Thread |
Tag cloud for Java
6 android api apple applet application arc arguments array arrays automation binary bluetooth bold c++ chat class classes client code compare component coordinates database datagram doctype draw eclipse educational error event exception file fractal froglogic game givemetehcodez graphics gui guitesting helpwithhomework html ide ideas image ingres input integer internet intersect ip j2me java javaexcel javaprojects jmf jni jpanel jtextarea julia linux list loop map method methods mobile netbeans newbie nextline number object oracle print problem program programming project recursion recursive scanner screen sell server set size sms socket sort sql string swing test threads time transfer tree user websites windows







