【发布时间】:2019-10-24 11:43:18
【问题描述】:
我在java中有一个简单的二类程序,主类不想创建nameProcessor类的对象
我尝试了我所知道的一切,但我仍然是一个愚蠢的初学者
public class Main
{
public static void Main()
{
// initialise instance variables
String name="Andy";
System.out.println("That name is "+name.length()+" letters long");
System.out.println("The first letter is "+name.substring(0,1));
nameProcessor np1 = new nameProcessor(name);
if (np1.nameChecker()==false)
System.out.println("That is a nice name.");
else
System.out.println("That is a wierd name.");
}
}
public class nameProcessor
{
private String userName;
private String letters;
private String letter;
private boolean give;
public nameProcessor(String name)
{
// initialise instance variables
String userName=name;
String letters="XYZWxyzw";
String letter="";
boolean give=false;
}
public boolean nameChecker()
{
give=false;
for(int i=0;i<userName.length();i++){
letter=letters.substring(i,i+1);
if (userName.indexOf(letter)!=-1){
give=true;
}
}
return give;
}
}
//一些正确的输出是
//Andy->这是个好名字 //XXX->这是一个奇怪的名字
//任何包含 XYZWxyzw 的字符串都应该返回 true
【问题讨论】:
-
看看
nameProcessor(String name):你隐藏了具有相同名称的局部变量的字段,因此初始化不会发生。将String userName=name;更改为userName=name;等。 -
@GuilhermeMartin 为什么不将其标记为重复?
-
@Stultuske 已经这样做了
-
您的主要方法缺少 String args[] 作为参数。公共静态 void main(String args[]) {}
-
@GuilhermeMartin 我看到你的帖子说它可能是重复的,但标志本身没有任何内容..我仍然没有。根据柜台,我是唯一一个标记它关闭它的人。