P65:T4 -----------哪位大神帮忙解决一下
------------------------------------------------------User类
public class User {
String userName;
String userPwd;
String userType; User() {
} User(String userName, String userPwd) {
this.userName = userName;
this.userPwd = userPwd;
} boolean login(User u) {
boolean b = false;
if (u.userName == "admin" && u.userPwd == "123456") {
u.userType = "administrator";
b = true;
System.out.println(u.userType);
} else if (u.userName == "guest" && u.userPwd == "guest") {
u.userType = "user";
System.out.println(u.userType);
}
return b;
}}
-----------------------------------------------------Test类
import java.util.Scanner;
public class Test {
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.println("请输入用户名:");
String name=sc.nextLine();
System.out.println("请输入密码:");
String pwd=sc.nextLine();
User _user=new User(name,pwd);
boolean l=new User().login(_user);
if(l==true){
System.out.println("登录成功。");
}else{
System.out.println("登录失败。");
} }
}
------------------------------------不管输对的或错的:java里面返回的始终是false
------------------------------------ (User类)同样的代码在C#里面是正常的
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace ConsoleApplication1
{
class User
{
public string userName;
public string userPwd;
public string userType; public User()
{
} public User(string userName, string userPwd)
{
this.userName = userName;
this.userPwd = userPwd;
} public bool login(User u) {
bool b = false;
if (u.userName == "admin" && u.userPwd == "123456") {
u.userType = "administrator";
b = true;
Console.Write(u.userType);
} else if (u.userName == "guest" && u.userPwd == "guest") {
u.userType = "user";
Console.Write(u.userType);
}
return b;
} }
}
--------------------------------------------------------------Program类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("name:");
string name = Console.ReadLine();
Console.WriteLine("pwd:");
string pwd = Console.ReadLine();
User _user = new User(name,pwd);
bool l = new User().login(_user);
if(l==true)
{
Console.WriteLine("成功");
}
else
{
Console.WriteLine("失败");
}
}
}
}
------------------------------------------------------User类
public class User {
String userName;
String userPwd;
String userType; User() {
} User(String userName, String userPwd) {
this.userName = userName;
this.userPwd = userPwd;
} boolean login(User u) {
boolean b = false;
if (u.userName == "admin" && u.userPwd == "123456") {
u.userType = "administrator";
b = true;
System.out.println(u.userType);
} else if (u.userName == "guest" && u.userPwd == "guest") {
u.userType = "user";
System.out.println(u.userType);
}
return b;
}}
-----------------------------------------------------Test类
import java.util.Scanner;
public class Test {
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.println("请输入用户名:");
String name=sc.nextLine();
System.out.println("请输入密码:");
String pwd=sc.nextLine();
User _user=new User(name,pwd);
boolean l=new User().login(_user);
if(l==true){
System.out.println("登录成功。");
}else{
System.out.println("登录失败。");
} }
}
------------------------------------不管输对的或错的:java里面返回的始终是false
------------------------------------ (User类)同样的代码在C#里面是正常的
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace ConsoleApplication1
{
class User
{
public string userName;
public string userPwd;
public string userType; public User()
{
} public User(string userName, string userPwd)
{
this.userName = userName;
this.userPwd = userPwd;
} public bool login(User u) {
bool b = false;
if (u.userName == "admin" && u.userPwd == "123456") {
u.userType = "administrator";
b = true;
Console.Write(u.userType);
} else if (u.userName == "guest" && u.userPwd == "guest") {
u.userType = "user";
Console.Write(u.userType);
}
return b;
} }
}
--------------------------------------------------------------Program类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("name:");
string name = Console.ReadLine();
Console.WriteLine("pwd:");
string pwd = Console.ReadLine();
User _user = new User(name,pwd);
bool l = new User().login(_user);
if(l==true)
{
Console.WriteLine("成功");
}
else
{
Console.WriteLine("失败");
}
}
}
}
解决方案 »
- java数组小问题有点疑惑了,求大侠出面。
- 有耐心的人进来看看,我被搞郁闷了
- 缴费金额必须填写,不能为0,但可以为负数,有没有这个FORM的验证或是java代码
- 求算法复杂度。
- 网页插入applet,安装控制台?
- 關於serialVersionUID,,,有誰對這個東東有了解啊???
- 有人用过netbeans(sun公司的java开发工具)?
- 我想做个美女浏览器!不仅仅是一百分!
- 各位大侠,知道哪有《JAVA2核心技术卷I/II》pdf电子版吗?!
- 哪儿有英文词库啊?我在编程时碰到需要检查一个词是否是英文单词的情况。谢谢了!
- 求教高手关于正则表达式实现定位查找和文字计数统计问题(纯正则表达式,非程序实现)
- 批处理文件
错误出现在这里,Java里字符串比较是使用equals方法,而不是 ==改成
if ("admin".equals(u.userName ) && "123456".equals(u.userPwd)) {
if (u.userName == "admin" && u.userPwd == "123456")
{
System.out.println("hello");
u.userType = "administrator";
b = true;
System.out.println(u.userType);
} 正如2楼的
java语言中 比较String类型,用 equals()方法哦!
本程序中 if (u.userName == "admin" && u.userPwd == "123456")
改成 if (u.userName.equals("admin") && u.userPwd.equals("123456"))thank you in advance for your reward points.