新Java学生的基本问题

时间:2010-12-23 04:06:26

标签: java

我是Java的新手,我没有其他编程经验。我正在努力完成一个家庭作业问题而且我到目前为止还没有。我非常确定这个问题对于这个社区来说非常简单,但我想请求lemans条款帮助。

问题: 编写一个名为reverse的方法,它将int作为参数并返回一个int。该方法反转给定数字的数字并返回它。如果给出5433,则该方法返回3345。

使用任意值调用main中的方法,并将结果打印到屏幕上。

(到目前为止这是我的代码snippit :(我怎么做反过来说的?它可能非常简单,但显然我需要帮助)提前谢谢!)

// Exercise 2.8.3
public class BlackBelt8 {


 public static void main(String[] args) {

  reverse(5433);

 }
 public static int reverse(int x){
  System.out.println(x);
  return x;

 }

}

更新:我处理了所有建议的解决方案。谢谢

4 个答案:

答案 0 :(得分:12)

有两种方法可以做到这一点。我不会给你代码,但希望我会把你带到正确的方向。

  1. 您可以将整数转换为字符串并反转字符串。然后将其转回整数。如果你想这样做,我建议你看一下Integer.parseInt和String.valueOf。

  2. 这可能是更好的方法。编程语言中的整数只返回答案的商。所以当你做5/2时,它返回2. modulo返回除法的余数。所以5%2(%是模数运算符)将等于1.

  3. 注意你可以使用10的除法和模来反转整数。

    正如其中一条评论所述,您只想从函数中返回结果。从反向函数中删除System.out.println并将其放在main中。所以你会这样称呼它:

    public static void main(String[] args) {
        System.out.println(reverse(123));
    }
    

    编辑:这是对评论的回应。

    在Java中,有两种类型的数据。本机类型和对象。本机类型是int,double,float,long,byte和char。这些是不是对象的唯一类型,并且它们不存在toString。他们每个人都有一个你可以使用的对象。例如,int的对象是Integer。

    其他所有内容都是对象,派生自基类Object,与object-oriented programming相关。 toString方法用于为其所调用的任何对象提供人类可读的字符串表示。

    任何类都可以拥有自己的toString方法实现,该方法将返回(理想情况下)一个人类可读的字符串。

答案 1 :(得分:3)

123的反向是321 观察那个 123 = 100 * 1 + 10 * 2 + 1 * 3 和 321 = 1 * 1 + 10 * 2 + 100 * 3

你如何在1,2,3中拆分123?你如何遍历所有数字?
你熟悉循环结构吗? 你知道什么是剩余部分吗?

答案 2 :(得分:0)

您可以尝试以下类似方法。

class Value:

    def __init__(self, value:Any):
        self.value = value


class MyEnum(Enum):

    item1 = Value(0)
    item2 = Value(0)
    item3 = Value(1)

    @property
    def val(self):
        return self.value.value

assert MyEnum.item1.val == 0
assert MyEnum.item2.val == 0
assert MyEnum.item3.val == 1

答案 3 :(得分:-4)

x = Integer.parseInt(x.toString()。Reverse());