题目是如果用户名等于字符‘青’,密码等于数字‘123’,就输出“欢迎你,青”,否则就输出“对不起,你不是青”。
我 自己用if写了个
import java.util.Scanner;
public class haishi{
public static void main (String[]args){
String name;
int i=123;
Scanner sc=new Scanner(System.in);
System.out.println("请输入你的姓名:");
name=sc.next();
if(name=="青"){
System.out.println("请输入你的密码:");
i=sc.nextInt();
if (i==123){
System.out.println("欢迎你,青");
}else {
System.out.print("对不起,你不是青");
}
}
else {
System.out.print("对不起,你不是青");
}
}
}
这个最后结果是~不管我输入什么字都是输出“对不起,你不是青”
我自己检查了下估计是 if(name=="青"){
******
}else {
System.out.print("对不起,你不是青"); 这里有问题但是不知道怎么改
后来我用switch又写了个
import java.util.*;
public class wangyang{
public static void main (String[]args){
String name;
int i;
String z;
Scanner sc=new Scanner(System.in);
do{
System.out.println("请输入您的用户名:");
name = sc.next();
System.out.println("请输入您的密码:");
i=sc.nextInt();
switch(i){
case 123:
System.out.println("欢迎你,青");
break;
default:
System.out.println("对不起,你不是青");
}
System.out.println("是否继续使用:y/n");
z=sc.next();
} while(!z.equals("n"));
}
}这次倒是可以正常输出了~但是 无论我的 name==什么 只要密码 i==123 都输出“欢迎你,青”
这个让我郁闷了 很久~想了很多办法 不是出现第1段程序的那种错误,就是出错~~~
各位大哥大姐高手救救我吧
我 自己用if写了个
import java.util.Scanner;
public class haishi{
public static void main (String[]args){
String name;
int i=123;
Scanner sc=new Scanner(System.in);
System.out.println("请输入你的姓名:");
name=sc.next();
if(name=="青"){
System.out.println("请输入你的密码:");
i=sc.nextInt();
if (i==123){
System.out.println("欢迎你,青");
}else {
System.out.print("对不起,你不是青");
}
}
else {
System.out.print("对不起,你不是青");
}
}
}
这个最后结果是~不管我输入什么字都是输出“对不起,你不是青”
我自己检查了下估计是 if(name=="青"){
******
}else {
System.out.print("对不起,你不是青"); 这里有问题但是不知道怎么改
后来我用switch又写了个
import java.util.*;
public class wangyang{
public static void main (String[]args){
String name;
int i;
String z;
Scanner sc=new Scanner(System.in);
do{
System.out.println("请输入您的用户名:");
name = sc.next();
System.out.println("请输入您的密码:");
i=sc.nextInt();
switch(i){
case 123:
System.out.println("欢迎你,青");
break;
default:
System.out.println("对不起,你不是青");
}
System.out.println("是否继续使用:y/n");
z=sc.next();
} while(!z.equals("n"));
}
}这次倒是可以正常输出了~但是 无论我的 name==什么 只要密码 i==123 都输出“欢迎你,青”
这个让我郁闷了 很久~想了很多办法 不是出现第1段程序的那种错误,就是出错~~~
各位大哥大姐高手救救我吧
字符串应该用equls
if(name.equls("青"))
改成if(name.equals"青")
//String并不是基本类型,而是一个对象,比较的时候要用equals方法
问题解决了~~~非常感谢
你是第一个回答我的 谢谢这位大大~~~不过似乎 应该是 if(name.equals("青"))
问题解决了~~~非常感谢
do{
System.out.println("请输入您的用户名:");
name = sc.next();
System.out.println("请输入您的密码:");
i=sc.nextInt();
switch(i){
case 123:
直接就是输入姓名和密码,之后就判断密码等于123就打印成功,你没判断姓名,所以输入什么姓名都是没用
System.out.println("请输入您的用户名:");
name = sc.next();
if(!name.equals("青"))
{
System.out.print("你不是青");
z="n";
break;
}
在姓名后加个判断就可以了
但是错了~~·所以就没写上来~~·
初学者嘛~~~