如何调用switch语句返回类型

时间:2017-12-18 20:30:16

标签: java debugging switch-statement

好吧,所以我的游戏出现了这个错误。 错误详见此处:https://www.rune-server.ee/runescape-development/rs2-server/help/668521-very-weird-backdoor-dupe.html

但简单地说,错误是由于用户输入的值超出了int数据类型值,导致它欺骗系统。

所以向你解释这个错误,用户会进入游戏商店并购买东西,在选择商品的数量时,他可以输入一个高于int值的值,因为这是因为这个,价格变为负值,它允许玩家购买无限数量的物品,同时还从玩家点消除这个负成本,这实际上导致它被添加(+) - ( - ) - > +。

使用switch语句声明的那些项目的价格。

public int getSpecialItemValue14(int id) {// member points shop
    switch (id) {

    case 1038:
    case 1040:
    case 1042:
    case 1044:
    case 1046:
    case 1048:
        return 45000;

现在我试图阻止服务器接受该值的是创建一个IF STATEMENT,这样如果该值超过int值来阻止该请求,而不是转发它。

我该怎么做?

2 个答案:

答案 0 :(得分:0)

在发送到服务器之前将值转换为INTEGER,如果超过最大值,则将其设置为0并启动警报。

答案 1 :(得分:0)

为什么不检查价格是否为负数?如果是,则可以显示类似"错误的消息。项目太多"。