Java说这个方法有一个构造函数名
我想返回数组的值加上递归调用的返回值 然而,出于某种原因,java不希望在构造函数之后有方法名 此外,当我试图将该方法转换为另一个方法时,在使用isAlindrome时会出现错误 我改变了我的程序,但仍然有错误Java说这个方法有一个构造函数名,java,arrays,eclipse,boolean,Java,Arrays,Eclipse,Boolean,我想返回数组的值加上递归调用的返回值 然而,出于某种原因,java不希望在构造函数之后有方法名 此外,当我试图将该方法转换为另一个方法时,在使用isAlindrome时会出现错误 我改变了我的程序,但仍然有错误 公共类isPalindrome { /** *这是应用程序的主要入口点 *@返回 */ 公共静态布尔主(字符串[]args) { String[]word={“KayaK”,“甜点,我强调了”}; 布尔isPalindrome(字符串[]数组、字符串s、字符串i) { 如果(i.cha
公共类isPalindrome
{
/**
*这是应用程序的主要入口点
*@返回
*/
公共静态布尔主(字符串[]args)
{
String[]word={“KayaK”,“甜点,我强调了”};
布尔isPalindrome(字符串[]数组、字符串s、字符串i)
{
如果(i.charAt(0)=s.charAt(0))
{
System.out.println(“您输入了回文”);
返回true;
}
其他的
{
System.out.println(“您没有输入回文”);
}
}
尝试
{
System.in.read();
}
捕获(可丢弃的t)
{
}
}
}不能将类名用作方法的名称。唯一可以与类共享名称的“方法”是构造函数 一种修复方法是将类从
isPalindrome
重命名为PalindromeFinder
或其他什么。这也将更好地与Java命名约定保持一致
编辑:请注意,您实际上从未在main中调用过您的方法;您尝试将局部变量分配给isAlindrome
。这实际上并没有调用该方法。您需要使用isAlindrome(…将您的参数放在这里…
调用该方法,并将结果存储在一个名为未使用的变量中
还请注意,方法只能返回单个值(单个基元或单个对象)。如果你真的想返回一个数组和一个布尔值(我不确定你会这样做),你必须将它们存储在一个对象中并返回那个对象。在java中,你不能使用类的名称作为变量名。该错误告诉您,只有该类的构造函数方法可以具有与该类相同的名称,并且构造函数不能返回int(它不返回任何内容)。我建议将该类重命名为Palindrome或PalindromeHelper 但是如何返回数组呢
返回isAlindrome(数组,s.substring(1,s.length()-1))代码>是问题所在
如前所述,实际上并没有创建要返回的数组。提示:returnnewstring[]或return
数组在哪里
没有任何内容会修改数组,因此返回它没有意义
你可以。。。如果有道理的话。。。修改作为参数传递的数组
如果确实要从isPalindrome
返回数组,则不能*同时返回true
和false
。一个方法只能有一个声明的返回类型,而您的代码似乎“需要”两个;i、 e.String[]
和boolean
。不能那样做
*好的,你可以。。。通过将返回类型声明为对象
。但是这会给调用者带来困难,这将是非常糟糕的设计。+1-遵循Java命名约定将完全避免这个“问题”/我理解,但如何返回我的arrayreturn isAlindrome(array,s.substring(1,s.length()-1));有问题吗?这行吗??布尔值isAlindrome=新布尔值(“真”);布尔b=isAlindrome.booleanValue();小写“boolean”是一种基本类型,而不是对象。因此,您不能试图通过说“new boolean(…)”来调用构造函数,也不能尝试调用诸如“isAlindrome.booleanValue()”之类的方法。我理解taht,但如何返回数组数组数组应该表示什么?基本上,您使用s表示字符串数组,但isAlindrome似乎没有将字符串数组用于任何用途。我理解这一点,但如何返回数组将返回类型设置为boolean[]
,而不是boolean
,我想,但我不确定该方法的参数。
public class isPalindrome
{
/**
* This is the main entry point for the application
* @return
*/
public static boolean main(String[] args)
{
String[] word = {"KayaK", "Desserts, I stressed"};
boolean isPalindrome(String[] array, String s, String i)
{
if(i.charAt(0) == s.charAt(0))
{
System.out.println("You entered a Palindrome");
return true;
}
else
{
System.out.println("You didn't entered a Palindrome");
}
}
try
{
System.in.read();
}
catch (Throwable t)
{
}
}