gpt4 book ai didi

java - Android 中的整数分割

转载 作者:太空宇宙 更新时间:2023-11-04 12:31:00 24 4
gpt4 key购买 nike

关于我最后一个关于 setting the TextView as the method output 的问题这个问题是关于将整数分割成单独的数字。我的罗马数字程序通过使用此处的翻译方法来工作:

'public static String translator(int integer) {
String result = "";
LinkedList<String> stack = new LinkedList<String>();
// if (integer > 0 && integer <= 4999) {
//ArrayList<Integer> placement = new ArrayList<Integer>();
int place = (int) Math.log10(integer);
for (int i = 0; i <= place; i++) {
//while(integer > 0){
//System.out.println(integer);
int placeOfValue = integer % 10;
//stack.push(placeOfValue);
//System.out.print(stack);

//System.out.print(placeOfValue +":" + i);
String placement = "";
switch (i) {
case 0:
placement = ones(placeOfValue);

break;
case 1:
placement = tens(placeOfValue);

break;
case 2:
placement = hundreds(placeOfValue);

break;
case 3:
placement = thousands(placeOfValue);

break;
default:
break;
}

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
stack.push(placement);

}
integer = integer / 10;

//System.out.print(placement);
// System.out.println(placement.size());
//}
// for(int j = 0; j < placement.size(); j++){
// double tenthPower = Math.floor(Math.log10(placement.get(j)));
// double place = Math.pow(10, tenthPower);
// System.out.println(place);
//
// }
// }

while (!stack.isEmpty()) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD) {
result += stack.pop();
//System.out.print(stack.pop());
}

}

// } else {
// System.out.println("Please enter an integer between 0 and 4,999.");
// }

}
return result;
}

`

翻译器方法的工作原理是通过 for 循环,该循环将遍历整数的大小,然后将数字分配给给定的位置。然后,它将从放置中查看放置方法并返回数字。由于 LinkedList 的整数是反向添加的,因此我根据这篇文章 How to get the separate digits of an int number? 压入堆栈并弹出它。以获得正确的顺序。然而,程序继续以相反的顺序打印数字,这不是我想要的。我已经调试了该程序,但运气不佳,感觉 pop 方法有些问题并将其添加到输出中,但我不知道是什么。

最佳答案

我最终通过取消注释掉将 stack.push() 与 stack.pop() 分开的括号来解决这个问题。之后其余的代码就可以工作了!

关于java - Android 中的整数分割,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37849237/

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