这个程序的目标是给定一个数n,返回最小的正整数b,至少为2,其中整数n是回文。
像:
输入:(int)n = 0, 输出:(int)2
输入:(int)n = 42, 输出:(int)4
但我一直得到回应:
使用com.google.challenges.Answer
中找不到的参数(int)回答公共静态方法
我确实宣布我的方法采用int
...
有人可以帮我理解这个错误意味着什么以及如何解决它?
package com.google.challenges;
import java.lang.String;
import java.lang.StringBuilder;
public class Answer {
public static int Answer(int n) {
String y = "";
String x = "";
int k = 0;
int b = 2;
int ans = 0;
if(n >= 0 && n <= 1000){
for(b = 2; b < 1000; b++){
k = n%b;
x += k;
while(n/b != 0){
n = n/b;
k = n%b;
x += k;
}
for(int i = x.length();i >= 0 ;i--){
y += x.charAt(i);
}
if(x.equals(y)){
ans = b;
break;
}
}
}
return ((int)ans);
}
}
答案 0 :(得分:2)
使用参数(int)&#34;来比较&#34;公共静态方法回答 使用您的代码&#34; public static int 回答(int n)&#34;。
他们不是以相同的字母开头,Java是区分大小写的以及所有。
将方法重命名为answer
。
答案 1 :(得分:0)
创建类是使用面向对象代码的好方法。在您的代码中,您正在使用类构造函数来完成繁重的工作。理想情况下,构造函数只有初始信息。例如:
public class Answer {
public int input;
public void Answer (int n) {
input = n;
}
public int output(){
int ans;
//do the calculations here
return ans;
}
}
然后在你的主文件中你可以做这样的事情
public void main(){
int somenumber = 42;
Answer asker = new Asker(somenumber);
asker.output();
}