【问题标题】:How to write the code in java to get the desired output? [closed]如何在java中编写代码以获得所需的输出? [关闭]
【发布时间】:2015-05-03 07:31:02
【问题描述】:

如果 x 的值为 29,则所需的输出为 0
如果 x 的值为 3,则所需的输出为 1
如果 x 的值为 1,则所需的输出为 4
如果 x 的值为 2,则所需的输出为 2

【问题讨论】:

  • 我希望你确实知道ifs,但你不能使用它们。
  • 我投票结束这个问题,因为它是关于如何写if (x == something) return someValue;
  • 而不是“应该做出改变”,问题应该说“如何..” - 但是,这就是问题中的缺陷:请求任务。 (我怀疑答案涉及bit manipulation,因为它是一个“谜题”,可能没有条件或查找。)
  • 你还没有说清楚有什么要解开的。很明显,有些事情你没有说出来。

标签: java output


【解决方案1】:

您可以使用 if/else 或 switch 语句或随机数生成器。

public static void main(String... args) {
    for (int i : new int[] { 29, 3, 1, 2, -2})
        System.out.println(i+": "+puzzle(i));
}

public static int puzzle(int n) {
    return new Random(3147 * n).nextInt(7) - 2;
}

打印

29: 0
3: 1
1: 4
2: 2
-2: -2

真正的问题应该是;根据您所学的内容,标记此答案的人希望您做什么?

【讨论】:

  • 不,这不能解决问题,因为它是一个谜题。就像 x = 4 将产生 1 或 x= -2 将产生 -2
  • @SajidHossain 你描述的是一个函数,而不是一个谜题。除了如何编写代码以完全按照您的要求进行操作之外,没有什么可以解决的。
  • @PeterLawrey 您如何确定随机方法中使用的值?
  • @user2864740 蛮力尝试不同的值。获得正确代码的时间比运行所需的时间长。
【解决方案2】:
public class Program
{
    public static int puzzle(int x)
    {
        if(x == 29)
            return 0;
        if(x == 3)
            return 1;
        if(x == 1)
            return 4;
        if(x == 2)
            return 2;

        return 0;
    }
}

【讨论】:

  • 不,这不能解决问题,因为它是一个谜题。就像 x = 4 将产生 1 或 x= -2 将产生 -2
猜你喜欢
  • 2021-09-06
  • 2023-02-01
  • 2017-02-19
  • 1970-01-01
  • 1970-01-01
  • 2013-10-16
  • 2021-05-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多