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