Java将负数转换为0
我对此代码有问题,无法找出问题所在,我知道这是一个逻辑错误,但我似乎无法找出问题所在,所有结果最终都为0 代码:Java将负数转换为0,java,converter,zero,negative-number,Java,Converter,Zero,Negative Number,我对此代码有问题,无法找出问题所在,我知道这是一个逻辑错误,但我似乎无法找出问题所在,所有结果最终都为0 代码: 非常感谢您的帮助,谢谢。如果您有多行条件/for循环,您需要设置括号。如果没有括号,else块将只执行它后面的第一条语句。在您的例子中,System.out.println(“负数;转换为0”)。 在任何情况下,变量userName都将被设置为0,因为下面的行不再是else块的一部分。 超过1行=括号 public class ConvertNegative { public
非常感谢您的帮助,谢谢。如果您有多行条件/for循环,您需要设置括号。如果没有括号,else块将只执行它后面的第一条语句。在您的例子中,
System.out.println(“负数;转换为0”)代码>。
在任何情况下,变量userName
都将被设置为0,因为下面的行不再是else块的一部分。
超过1行=括号
public class ConvertNegative {
public static void main (String [] args) {
int userNum = 0;
if (userNum >= 0)
System.out.println("Non-negative");
else{
System.out.println("Negative; converting to 0");
userNum = 0;
System.out.format("Final: %d", userNum);
System.out.println("");
}
//return; -> There is no need for the return as the main method has no return value.
}
}
如果有多行条件/循环,则需要设置括号。如果没有括号,else块将只执行它后面的第一条语句。在您的例子中,System.out.println(“负数;转换为0”)代码>。
在任何情况下,变量userName
都将被设置为0,因为下面的行不再是else块的一部分。
超过1行=括号
public class ConvertNegative {
public static void main (String [] args) {
int userNum = 0;
if (userNum >= 0)
System.out.println("Non-negative");
else{
System.out.println("Negative; converting to 0");
userNum = 0;
System.out.format("Final: %d", userNum);
System.out.println("");
}
//return; -> There is no need for the return as the main method has no return value.
}
}
你错过了else块中的花括号。当您的else有多个语句时,您必须使用大括号。另外,您没有从用户处获得值。由于main方法是void,所以不需要return语句
希望下面的代码能帮助你
import java.util.Scanner;
public class ConvertNegative {
public static void main (String [] args) {
Scanner s = new Scanner(System.in);
System.out.print("Enter a number....");
int userNum = s.nextInt();
if (userNum >= 0)
System.out.println("Non-negative");
else{
System.out.println("Negative; converting to 0");
userNum = 0;
System.out.format("Final: %d", userNum);
System.out.println("");
}
}
}
你错过了else块中的花括号。当您的else有多个语句时,您必须使用大括号。另外,您没有从用户处获得值。由于main方法是void,所以不需要return语句
希望下面的代码能帮助你
import java.util.Scanner;
public class ConvertNegative {
public static void main (String [] args) {
Scanner s = new Scanner(System.in);
System.out.print("Enter a number....");
int userNum = s.nextInt();
if (userNum >= 0)
System.out.println("Non-negative");
else{
System.out.println("Negative; converting to 0");
userNum = 0;
System.out.format("Final: %d", userNum);
System.out.println("");
}
}
}
美来自简单
只需在一行中清理userNum
变量,就可以得到更好的代码,如下所示
主类{
公共静态void main(字符串[]args){
int userNum=-5;
userNum=Math.max(userNum,0);
System.out.println(“userNum=“+userNum”);
}
}
关键是使用Math.max()
函数来完成这项工作
您可以在我的REPL上运行此功能,网址为美丽来自简单
只需在一行中清理userNum
变量,就可以得到更好的代码,如下所示
主类{
公共静态void main(字符串[]args){
int userNum=-5;
userNum=Math.max(userNum,0);
System.out.println(“userNum=“+userNum”);
}
}
关键是使用Math.max()
函数来完成这项工作
您可以在我的REPL上运行此命令,您需要通过添加正确的大括号并将else与底部的print命令分开来重新编写代码
if (userNum >= 0) {
System.out.println("Non-negative");
}
else {
System.out.println("Negative; converting to 0");
userNum = 0;
}
System.out.format("Final: %d", userNum);
System.out.println("");
```
您需要通过添加正确的大括号并将else与底部的print命令分开来重新编写代码
if (userNum >= 0) {
System.out.println("Non-negative");
}
else {
System.out.println("Negative; converting to 0");
userNum = 0;
}
System.out.format("Final: %d", userNum);
System.out.println("");
```
是的,你没有任何括号。你首先将userNum设置为0。当然是零。您应该从哪里获取输入?是的,您没有任何括号您可以从将userNum设置为0开始。当然是零。你应该从哪里获得输入?