gpt4 book ai didi

Java程序显示结果比期望结果少一

转载 作者:行者123 更新时间:2023-12-01 04:52:05 25 4
gpt4 key购买 nike

我在一个竞争性编码网站上做这个练习题。我们有一个场景,我们有一个智能浏览器,我们不需要输入“www”。也不是元音。浏览器自己输入这两个东西。

我正在编写一个程序,显示智能网址中字符数与完整网址中字符数的比率。 IE。例如 www.google.com 的智能 url 将是 ggl.com。因此节目的显示将是 7/14。我这样做了,但我的显示是 6/14。即少一个。它适用于每个测试用例。我不知道问题出在哪里

Scanner sc = new Scanner(System.in);
int t = sc.nextInt();// no of testcases!

while(t > 0)
{
String st = sc.next();
int count = st.length();
count = count-4;
int count1 = st.length();
for(char da:st.toCharArray())
{
switch(da)
{
case 'a':
count = count -1;
break;

case 'e':
count = count -1;
break;

case 'i':
count = count-1;
break;

case 'o':
count = count -1;//System.out.println(da);
break;

case 'u':
count = count -1;
break;
}
}

System.out.print((count ) +"/" +count1) ;
System.out.println();
t--;

}

最佳答案

ggl.com 仍然包含一个元音字母,因此您的循环将为 o 递减 count,并且您的程序将返回 6 而不是7.

请注意,一般情况下,url 的域名可以有不同数量的元音 - 例如,comgovnet 有 1 个,edu 有 2 个,fr 有 0 个。您的代码应该忽略最后一个 . 之后的元音。

这可以解决您的问题:

  ....
String st = sc.next();
int count = st.length();
count = count-4;
int count1 = st.length();
st = st.substring(0,st.lastIndexOf('.')); // get rid of the domain name
for(char da:st.toCharArray())
...

这假设只有最后一个 . 之后的元音应该保留在计数中。例如,如果在 .co.il 域中您希望同时保留 oi,您将拥有改变逻辑。

关于Java程序显示结果比期望结果少一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28063086/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com