当前位置: 首页 > 面试题库 >

尽管未使用布尔值,但我得到“类型不匹配无法从int转换为布尔值”

伍嘉
2023-03-14
问题内容

我正在“
Java如何编程”一书中做练习。我应该制作一个模拟投币的应用程序。我应该做一个方法(翻转),随机返回硬币的一面。我倾向于使该方法返回1或2,在主方法中,我将值“转换”为硬币的两面。问题是我收到一条错误消息:“类型不匹配-
无法从int转换为boolean”。我真的认为我一直都只使用整数,并且不知道布尔值是如何出现的。

代码如下:

import java.util.Random;

public class Oppgave629 
{

    public static void main(String[] args) 
    {
        int command = 1;
        int heads = 0;
        int tails = 0;
        while (command != -1)
        {
            System.out.print("Press 1 to toss coin, -1 to exit:");
            int coinValue = flip();
            if (coinValue = 1) {System.out.println("HEADS!"); heads++;}
            if (coinValue = 2) {System.out.println("TAILS!"); tails++;}
            System.out.printf("Heads: %d", heads); System.out.printf("Tails: %d", tails);
        }
    }

    static int flip()
    {
        int coinValue;
        Random randomValue = new Random();
        coinValue = 1 + randomValue.nextInt(2);
        return coinValue;
    }
}

问题答案:

您的密码

if (coinValue = 1) {System.out.println("HEADS!"); heads++;}
if (coinValue = 2) {System.out.println("TAILS!"); tails++;}

应该

if (coinValue == 1) {System.out.println("HEADS!"); heads++;}
if (coinValue == 2) {System.out.println("TAILS!"); tails++;}

您正在为intValue分配一个int类型,并且该类型在if语句中被作为布尔值进行评估。



 类似资料:
  • 问题内容: 如何将整数转换为布尔值? 问题答案: 尝试使用此返回 或仅使用布尔值开始(使用更好的名称): 它继续使我迷惑人们为什么使用-可怕的变量名。看起来并不传达任何意义。

  • 错误 线程“main”java.lang.Error:未解决的编译问题:类型不匹配:无法从Scanner转换为boolean类型不匹配:无法在converter.main(converter.java:14)处从int转换为Scanner

  • 问题内容: Postgres给我这个错误: 查询失败:错误:无法将数字类型转换为布尔值 问题答案: 使用: 和之间没有定义直接转换。您可以用作中间立场。将是中间立场的另一个候选者,因为每种类型都可以从/强制转换。价值当然是必须的。 更好的是,用一个命令完成所有操作,以获得更好的性能和更短的锁定时间: 手册中有关的详细信息。

  • 但是这个代码不起作用。编译器说 我在试图理解代码的问题是什么。我认为将返回一个布尔值流,我可以通过收集这些值。

  • 问题内容: 在Java中将a转换boolean为an 的最常用方法是什么int? 问题答案: ^^ PS : true = 1 and false = 0

  • 对于类; 我正在构建这样的自定义Matcher; 检查列表是否包含