Java 为什么count++;不使用我的代码?

Java 为什么count++;不使用我的代码?,java,Java,下面是给我的问题: 编写一个程序,将网站名称作为键盘输入,直到用户键入“停止”一词。该程序还必须计算有多少网站名是商业网站名(以.com结尾),并输出该计数 这里是我一直遇到的问题:例如,如果我输入‘facebook.com’、‘google.com’和‘pintrest’,输出结果将显示我输入了三个商业网站,尽管我输入的网站中只有两个以com结尾。 有人能解释一下我哪里出了问题,最好的解决方法是什么?这是我的密码 import java.util.Scanner; public class

下面是给我的问题: 编写一个程序,将网站名称作为键盘输入,直到用户键入“停止”一词。该程序还必须计算有多少网站名是商业网站名(以.com结尾),并输出该计数

这里是我一直遇到的问题:例如,如果我输入‘facebook.com’、‘google.com’和‘pintrest’,输出结果将显示我输入了三个商业网站,尽管我输入的网站中只有两个以com结尾。 有人能解释一下我哪里出了问题,最好的解决方法是什么?这是我的密码

import java.util.Scanner;


public class NewClass 
{
public static void main( String [] args)

{

    int count = 0;
    String commercialNames = "com";
    final String SENTINEL = "stop";
    String website;

    Scanner scan = new Scanner(System.in);
    System.out.print("Enter a website, or 'stop' to stop > ");
    website = scan.next();

    String substring = website.substring(website.length()-3);

    while (!SENTINEL.equals(website))

    {
        if(substring.equals(commercialNames))
        { 
            count++;
        }
        System.out.print( "Enter the next site > ");
        website = scan.next();
    }

         System.out.println( "You entered " + count + " commercial websites.");
        }




}
谢谢

String substring = website.substring(website.length()-3);

该变量只设置一次。当
网站
发生更改时,您不会重新计算它。

在获取新输入
网站
后,必须分配变量
子字符串
。所以,应该是这样

String substring;
while (!SENTINEL.equals(website))    
    {
        substring = website.substring(website.length()-3);  
        if(substring.equals(commercialNames))
        { 
            count++;
        }
        System.out.print( "Enter the next site > ");
        website = scan.next();

    }

您的子字符串位于错误的位置。在第一个条目中初始化它一次,然后忘记更改它

while (!SENTINEL.equals(website))

{
    String substring = website.substring(website.length()-3);
    if(substring.equals(commercialNames))
    { 
        count++;
    }
    System.out.print( "Enter the next site > ");
    website = scan.next();
}

很抱歉我是初学者。如果我的问题措辞错误,我道歉:)