#Why do I need the abs method
39 messages · Page 1 of 1 (latest)
⌛ This post has been reserved for your question.
Hey @frozen island! Please use
/closeor theClose Postbutton above when your problem is solved. Please remember to follow the help guidelines. This post will be automatically closed after 300 minutes of inactivity.
TIP: Narrow down your issue to simple and precise questions to maximize the chance that others will reply in here.
if a is >10, abs() turns the result into a positive number
similar with b
abs(10-a) calculates how much a is away from 10
if it wasn't there, it would just prefer the highest number no matter what
I wrote that part of the code from the exercise but abs was given therefore my question but the number just stays the same if it is negative it will return that number and if it is positiv it will return a positive number does abs really change anything
@unreal trail
but shouldn`t it be return a if that was true it is -a in the code though that confuses me
so if it's a negative number, the sign is changed to be positive
thanks a bunch got totallly confused there!!
If you are finished with your post, please close it.
If you are not, please ignore this message.
Note that you will not be able to send further messages here after this post have been closed but you will be able to create new posts.
Coulf I ask you another question if you have time
haha got it thanks just one sec need to copy the code
package de.codegym.task.task04.task0413;
/*
Wochentag
*/
import java.io.*;
import java.util.Scanner;
public class Solution {
public static void main(String[] args) throws Exception {
//schreib hier deinen Code
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
int a = input.read();// read a number from keyboard
//Scanner numberkind = new Scanner(System.in);
//int a = numberkind.nextInt();
if (a ==1 )
System.out.println("Montag");
else if (a == 2 )
System.out.println("Dienstag");
else if (a == 3 )
System.out.println("Mittwoch");
else if (a == 4 )
System.out.println("Donnerstag");
else if (a == 5 )
System.out.println("Freitag");
else if (a ==6 )
System.out.println("Samstag");
else if (a == 7 )
System.out.println("Sonntag");
else if ( a > 7 || a < 1) //condition always true
// since if reached only option bigger or less
// then given intervall
//=> just else also enough
System.out.println("Diesen Wochentag gibt es nicht");
}
} ```
This message has been formatted automatically. You can disable this using /preferences.
I used the Scanner and always got the result I was trying to achieve but with BufferReader I only get the output "Diesen Wochentag gibt es nicht" even if I enter 5
Can´t quite find my fault here
read() doesn't read a number
Should I use readInt
it reads a character and converts it to a number
Which readInt?
If you use Scanner, you could use nextInt
or you could use BufferedReader#nextLine and then convert it to an int using Integer.parseInt
Yup that version worked
but with BufferReader no clue
Ah got it will try it
Javadoc things
Thanks a lot you really cleared up a lot for me!!
If you are finished with your post, please close it.
If you are not, please ignore this message.
Note that you will not be able to send further messages here after this post have been closed but you will be able to create new posts.
The abs() method works for different primitive data types: int, long, float, and double. It returns the same type as the argument passed to it.
this isn't about Math.abs() btw