Win a copy of Kotlin for Android App Development this week in the Kotlin forum!

Paweł Baczyński

Bartender
+ Follow
since Apr 18, 2013
Paweł likes ...
Firefox Browser IntelliJ IDE Java Linux Spring
Kraków
Cows and Likes
Cows
Total received
47
In last 30 days
0
Total given
65
Likes
Total received
500
Received in last 30 days
5
Total given
674
Given in last 30 days
7
Forums and Threads
Scavenger Hunt
expand Rancher Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Paweł Baczyński

Collie Mason wrote:Thank you! I called the playGame() method in toString(), and it cleared up my issue. However, now "computer" is only being assigned as 1, not somewhere in the range between 1 and the user's input (assigned as "upperBound"). How can I fix this?

I appreciate the suggestion with random.nextInt(), and I may use that in future code.



And as it turns out Math.random() is the cause of your problem. Well, not the method itself, but it is very easy to put parentheses wrong when using it.

(int)Math.random() * ((upperBound) + 1) + 1

Math.random() returns a double greater than or equal to 0.0 and less than 1.0. When you convert such double to an int you always get 0.

0 * ((upperBound) + 1) + 1

Anything multiplied by 0 is 0.

0 + 1

Zero plus one equals one.

1
2 weeks ago
This means that DBConnection.getConnection() may return null. If you don't want to see NullPointerException check if conn == null.
3 weeks ago
Lately, I was discussing with my colleagues where to find useful case studies of how to run a software company.
It turned out to be the beginning of a series of articles on our company blog.

https://solidstudio.io/blog/software-company-beginning.html

It would be great to take a look and let me know what you think. It is just the intro so that we can adjust it to readers needs.
3 weeks ago
You can try to change the background color of the Gui instance.
3 weeks ago
Line 26 in your code.
One should never close a Scanner that is tied to System.in. (link)
4 weeks ago
Wecome to the Ranch!

What security exception are there with == operator?

You shouldn't use == to compare strings.

You coud use a 'reversed' notation to avoid NPE, like: if(!"".equals(message)). I'll let you decide if it looks readable enough.

Writing err.equals("") || err.equals(null) won't guard you against a NPE.
First, you should always check for null first. If err is null then err.equals("") will throw a NPE.
Second, err.equals(null) is an incorrect way to do a null check. It will throw NPE if err is null. Also, a properly designed equals method (String class has one) will never return true for null argument. For a null check you have to use the == operator.
1 month ago
There is no difference. Both lines do the same thing.
1 month ago
You said: "There is already a map class, user-defined for that reason, which includes the method."

You need to create an instance of this class. Look at the code of the class. Does it have public constructors? Static factory methods?
Is it the BST class? Does it implement Map interface?
2 months ago


Does it even compile? You are using a variable that is not initialized.
2 months ago
There is java.exe in the path \Oracle\JavaPath.
Windows chooses this executable when you invoke java in the console.
Move your jdk11 path to the top.
3 months ago
Welcome to the Ranch!

First, please use meaningful title for your posts.
Second, [color] tags don't work inside [code] tags.

And finally, your code looks fine. I suspect you are trying to run it incorrectly. Can you post the command you use to run the code?

Edit: oh I missed that your main method returns boolean...
3 months ago

Dave Tolls wrote:That check is correct as far as I can see.



It looks like it is. My bad.
3 months ago
Welcome to the Ranch!

Jay Rex wrote:1. Why is it that if I enter 99.99, it enters the if loop and prints "Please enter a valid number". 99.99 is not greater than 99.99.


Read carefully what condition you have in line 25. Write on pensil your calculation for input 99.99.

Jay Rex wrote:2. I am new to try catch blocks. I see that they have block scope. Lines 18 and 24 are duplicated, as it appears I have to check the code inside the try block and then duplicate the code outside the try catch block because that is what I want to do. Is this the correct way to do it?


It is not the correct way. If no exception is thrown then the value of result will aleady br set to desired value. No need to duplicate this. In this case the computation will be quick so no harm done, but if it were an expensive operation you might have a problem.

Also, I noticed that you use BigDecimal(double) constructor. Read the warning in corresponding javadoc so you are not surprised in the future.
3 months ago

Stephan van Hulst wrote:To further clarify what Paweł wrote, the value you are using to create the BigDecimal instance with is not actually -0.206, but the closest value that can be represented by the double datatype.


And this value is exactly -0.2059999999999999886757251488234032876789569854736328125.
5 months ago
You can find the answer is in the javadoc of the constructor.
It is not a problem with the abs() method. It is a problem with the instance of BigDecimal that you are creating.
5 months ago