Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java将负数转换为0_Java_Converter_Zero_Negative Number - Fatal编程技术网

Java将负数转换为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

我对此代码有问题,无法找出问题所在,我知道这是一个逻辑错误,但我似乎无法找出问题所在,所有结果最终都为0

代码:


非常感谢您的帮助,谢谢。

如果您有多行条件/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开始。当然是零。你应该从哪里获得输入?