作者OCEANSAE (OCEANSAE)
看板java
标题[问题] 请问一题java
时间Mon Mar 25 10:46:34 2019
import java.util.Scanner;
public class Q1 {
public static void main(String[] args) {
String str;
Scanner input = new Scanner(System.in);
while(true) {
str = input.nextLine();
if (str == "0")
break;
else {
String arr[] = str.split(" ");
int total = 0;
for (int i = 0; i < arr.length; i++) {
if ('0' <= arr[i].charAt(0) && arr[i].charAt(0) <= '9') {
int int0 = Integer.parseInt(arr[i],10);
int reversedInt = reverse(int0);
total += reversedInt;
}
}
String tot = String.format("%04d", total);
System.out.println(tot);
}
}
input.close();
}
public static int reverse(int integer) {
int result=0;
while(true)
{
int n= integer % 10;
result=result*10+n;
integer = integer / 10;
if (integer == 0)
{
break;
}
}
System.out.println(result);
}
}
想请如果出以下错误:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
This method must return a result of type int
at Q1.reverse(Q1.java:30)
at Q1.main(Q1.java:18)
请问为什麽这样写出来的result不是整数?
以下是题目:
请根据以下规则计算结果:
*将句子中的数字取出来反转并加总;
*加总结果若超过千位数则取到千位数,不到千位数则以 0 补
之。
输入说明:输入多笔测资,直到输入 0 结束程式。每笔测资是一个
句子。
输出说明:根据上述规则输出最後结果。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 42.72.94.177
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/java/M.1553481997.A.C44.html
1F:→ pttworld: 你的if後面加了分号03/25 11:39
2F:→ OCEANSAE: 谢谢你,我又修改了程式码,却发现了其它问题 我等等改 03/26 12:52
3F:→ OCEANSAE: 个内文问不知道可不可以在麻烦大大解答03/26 12:52
※ 编辑: OCEANSAE (42.73.230.226), 03/26/2019 12:59:58
4F:→ pttworld: 你的reverse没有回传值 03/26 16:37
5F:→ OCEANSAE: 发现了,谢谢! 03/26 18:22
6F:→ qrtt1: 你有使用 debugger 去看自己的问题吗? 03/26 18:48