[英]From a Java method, how do I return an entire int converted from a string?
[英]How do I return a string from a method in java
我写了几行代码来使用两个类在java中找到一个数字的倍数。 如何从方法返回字符串。
class Multiples {
String printMult(int x) {
int i,j;
for (i = 0; i <= x; i++) {
for(j = 0; j <= x; j++) {
return i + "*" + j;
}
}
}
}
public class Chkmult {
public static void main(String[] args) {
Multiples num = new Multiples();
System.out.println(num.printMult(8));
}
}
`
x
可能为 0,并且您的 for 循环不会迭代。 在这种情况下,您的return statement
将永远不会到达。
为了成为可编译的代码,您的方法必须针对每种可能的情况都有一个return statement
。
将您的代码更改为:
class Multiples{
String printMult(int x){
int i,j;
for(i = 0;i <= x;i++){
for(j = 0;j <= x;j++){
return i + "*" + j;
}
}
return "no iterations occurred.";
}
}
public class Chkmult{
public static void main(String[] args){
Multiples num = new Multiples();
System.out.println(num.printMult(8))
}
}
您还可以删除第二个 return 语句,并抛出一个异常,但随后您需要在调用方法中处理此异常。
编辑:正如 AxelH 已经指出的那样,您想要做的可能是在 for 循环本身中没有 return 语句。 这样,您第一次在那里迭代时,该方法将结束并且只会返回部分信息。
您可以尝试将该方法更改为如下所示:
String printMult(int x){
int i,j;
StringBuffer buf = new StringBuffer("");
for(i = 0;i <= x;i++){
for(j = 0;j <= x;j++){
buf.append(i + "*" + j + "\n");
}
}
return buf.toString();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.