gpt4 book ai didi

java - 错误: incompatible types: void cannot be converted to NumPal

转载 作者:行者123 更新时间:2023-12-02 02:04:41 24 4
gpt4 key购买 nike

我读过很多关于这个问题的帖子,大多数似乎都是通过修复 main 方法来解决的。但是,任务的一部分是我们无法更改 NumPalDrvier。由于我不完全理解,我还能如何解决这个问题?

这是给定的主要代码:

import javax.swing.JOptionPane;
public class NumPalDriver {

public static void main(String[] args){
String start = JOptionPane.showInputDialog("Enter a number: ");
System.out.println("start value ["+ start + "]");
NumPal p = new NumPal(start);
int ctr = 0;
while (!p.pal() && (ctr < 10)){
System.out.println(p.toString());
System.out.print("new sum: ");
System.out.println(p.getCur()+" + "+p.getRev()+ " = " +
(p.getCur()+p.getRev() ));
p = p.next();
ctr++;
}
System.out.println("final value: " + p.getCur());
System.out.println("number of steps: " + ctr);
}
}

我的代码使 main 成为可能:

public class NumPal{ //header

private long numRev; //initializes variables
private long numCur;
private String stringRev;
private String stringCur;

public NumPal(String stringCur){//constructor
this.stringCur = stringCur;
}

public boolean pal(){

if (stringCur == stringRev){
return true;}
else {
return false;}
}

public String reverseString (String input){ //creates reverse version of string
int length = input.length();
String stringRev = "";
for(int j = 0; j <= length; j++){
stringRev = input.charAt(j) + stringRev;
}return stringRev;
}

public void next(){ //where the error is
stringRev = reverseString(stringCur);
numRev = Long.parseLong(stringRev);
numCur = Long.parseLong(stringCur);
numCur = numCur + numRev;
stringCur = Long.toString(numCur);
}

public String getCur(){ // returns current string
return stringCur;
}

public String getRev(){ // returns reverse string
return stringRev;
}
}

如果有人能解释这个错误的含义,我们将不胜感激!

最佳答案

NumPalDriver 上的以下行

p = p.next();

期望 NumPal 类中的 next() 方法返回 NumPal 对象(或 null)。当前代码没有返回任何内容。重写它以返回 NumPal

即:

public NumPal next(){ 
// return a NumPal, possibly following
// existing code of this method goes here
return new NumPal(stringCur)
}

关于java - 错误: incompatible types: void cannot be converted to NumPal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50996815/

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