gpt4 book ai didi

java - 此代码是否有更短的版本?

转载 作者:行者123 更新时间:2023-11-30 10:35:44 26 4
gpt4 key购买 nike

有没有更短的版本?你能解释一下为什么你认为它是一个更短/更好的版本吗?

switch (v.getId()) {
case R.id.buttonUP:
moveOBJECT.setY((moveOBJECT.getY() >= 0) ? moveOBJECT.getY() - 15 : moveOBJECT.getY());
break;
case R.id.buttonDOWN:
moveOBJECT.setY((moveOBJECT.getY() + moveOBJECT.getHeight() < img.getHeight()) ? moveOBJECT.getY() + 15 : moveOBJECT.getY());
break;
case R.id.buttonLEFT:
moveOBJECT.setX((moveOBJECT.getX() >= 0) ? moveOBJECT.getX() - 15 : moveOBJECT.getX());
break;
case R.id.buttonRIGHT:
moveOBJECT.setX((moveOBJECT.getX() + moveOBJECT.getWidth() < img.getWidth()) ? moveOBJECT.getX() + 15 : moveOBJECT.getX());
break;
}

最佳答案

如果不重构代码,我认为没有办法缩短它。

也许更好的方法是将 getId() 调用传递给 moveObject.move( v.getId() ) 并让 moveObject 类处理移动。

....... somewhere on your code
moveOBJECT.move( v.getId() );
.......

class MoveOBJECT extends view {
public void move( enum buttonPressed key) {
switch (key) {
case R.id.buttonUP:
Y = Y >= 0 ? Y - 15 : Y;
break;
case R.id.buttonDOWN:
Y = Y + height < img.getHeight() ? Y + 15 : Y;
break;
case R.id.buttonLEFT:
X = X >= 0 ? X - 15 : X;
break;
case R.id.buttonRIGHT:
X = X + width < img.getWidth() ? X + 15 : X;
break;
}
}
}

关于java - 此代码是否有更短的版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40967616/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com