首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >If语句和for循环在java中不起作用

If语句和for循环在java中不起作用
EN

Stack Overflow用户
提问于 2013-05-28 06:42:53
回答 3查看 3K关注 0票数 0

我正试着自学java的基础知识。我刚刚完成了一门课程,它教会了我python的基础知识,因此我知道if语句和for循环是如何工作的。我用java编写了一个基本的程序来测试它们,但是if语句不起作用,程序也没有通过for循环。任何帮助都将受到感谢。

代码语言:javascript
复制
import java.util.Scanner;

public class messingAround {
    public static void main(String[] args) {
        Scanner play = new Scanner(System.in);
        messingAround1 gameObject = new messingAround1();
        System.out.println("how many times would you like to play? ");
        int time = play.nextInt();  
        gameObject.play(time);
    }
}


import java.util.Scanner;
public class messingAround1 {

    public void play(int game){
        Scanner ques1 = new Scanner(System.in);
        int game2;
        String ques;
        for(game2 = game; game > 0; game--); 
            System.out.println("Answer y or n");
            ques = ques1.nextLine();
            if (ques == "y" ){
               System.out.println("You are nice");
            } else {
               System.out.println("You are not nice");
            }       
        }
   }
}

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-05-28 06:46:30

不要将String对象与==操作符进行比较。请改用.equals()方法,因为==运算符只比较变量是否指向内存中的同一地址,.equals()方法是否比较它们的值。

代码语言:javascript
复制
if ("y".equals(ques)){
    System.out.println("You are nice");
} else {
    System.out.println("You are not nice");
}

至于for循环,我认为如果您为game变量提供了一个正值,并且在它的主体之前删除了;,那么一切都是可以的。

代码语言:javascript
复制
for(game2 = game; game > 0; game--) {
   //do your stuff
}
票数 3
EN

Stack Overflow用户

发布于 2013-05-28 06:46:02

替换

代码语言:javascript
复制
if (ques == "y"){

使用

代码语言:javascript
复制
if (ques.equals("y")) {

甚至更好

代码语言:javascript
复制
if ("y".equals(ques)) {
票数 1
EN

Stack Overflow用户

发布于 2013-05-28 06:52:26

正如其他每个人都提到的,您想要使用.equals()

但是,for循环应该如下所示:

代码语言:javascript
复制
for(game2 = game; game2 > 0; game2--){
        System.out.println("Answer y or n");
        ques = ques1.nextLine();
        if (ques.equals("y")){
            System.out.println("You are nice");
        }else{
            System.out.println("You are not nice");
        }



    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16781431

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档