注册 登录
编程论坛 JAVA论坛

java录入信息问题

龙岩花界 发布于 2019-04-11 00:47, 2987 次点击
package chapter1;
import java.util.Scanner;
public class Register{
    String name;
    String   password;
    String newpassword;
    public void nameExe() {
        Scanner input=new Scanner(System.in);
        System.out.println("请输入该学生的信息:");
        System.out.println("用户名:");
        name=input.next();
        System.out.println("前输入密码");
        password=input.next();
        System.out.println("请再次输入密码:");
        newpassword=input.next();
        while(name.length()<3||password.length()<6||password.equals("newpassword")==false) {
            if(name.length()<3) {
                System.out.println("请重新输入用户名:");
                name=input.next();
                }
            if(password.length()<6)
            {
                System.out.println("请重新输入密码");
                password=input.next();
                System.out.println("请确认密码:");
                newpassword=input.next();
            }
            if(password.equals("newpassword")==false)
            {
                System.out.println("请确认密码:");
                newpassword=input.next();            }
        }
        System.out.println("注册成功!");
   
}
}
public class Verity {
    public static void main(String[] args) {
        Register m=new Register();
        m.nameExe();
        }

}
我创建了一个主类,然后也创建了一个Register类,并在这个类中创建了方法,然后在主类中用Register类创建对象然后进行方法的调用,为什么Register类报错。求大神改正,谢谢
4 回复
#2
疯狂的小a2019-04-11 11:56
什么错
#3
rind2019-04-11 13:03
你把两个public类写在一个java文件里了吗?如果是,请分开。
java中每个public类需要对应一个java文件。换句话说,一个java文件中最多只能包含一个public类。


另外,文件中有package语句,所以类的全名是
chapter1.Register
如果使用javac java命令编译,注意路径,全名。


javac 自动编译生成包结构层次(需要使用-d选项,推荐命令行编译时使用,[.]表示当前目录,可更改为其他路径)
javac Register.java -d .



[此贴子已经被作者于2019-4-11 13:22编辑过]

#4
龙岩花界2019-04-11 13:28
回复 3楼 rind
我后来在包里创建了两个类,可是仍然不行。因为我在Versity这个类里面调用了上一个类中的方法。或者是说我在一个类中要调用另外一个类的方法,要先声明?
#5
rind2019-04-11 14:00
回复 4楼 龙岩花界
因为在同一包层次下,所以不需要声明。
但是请确保,两个文件都在同一目录下,且包含相同的package语句。
package chapter1;

如果想简单一点,其实可以先注销掉package语句。


可能是编译时的问题,因为有package语句,
所以建议编译使用
javac  *.java  -d  .

如果分别编译的话,需要先编译被使用的类的源文件,然后编译使用的那个类。
运行使用
java  chapter1.Versity


1