我的程序对一些输入显示不正确的结果,对另一些输入显示正确的结果。我不知道我在代码中做错了什么。
在我的代码中,我想将一个字符串输入作为一个标签,如果它的每两个连续数字的和是偶数并且它的字母不是元音,那么它就是有效的。我认为字母“A”,“E”,“I”,“O”,“U”,“Y”是这个问题的元音。
输入格式:第一行包含一个长度为9的字符串。格式为“DDXDDD-DD”,其中D代表一个数字(非零),X为大写英文字母。
输出格式:如果字符串有效,我要打印“有效”(不带引号),否则打印“无效”(不带引号)。
示例-
Input: 13A357-22
Expected Output: valid
My Output: invalid
以下是我的代码:
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
class Digit {
public static void main(String args[] ) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String vow = "AEIOUY";
String tag = br.readLine();
char temp[] = tag.toCharArray();
if(temp[6] != '-' || Character.isLowerCase(temp[2]))
{
temp[6] = '-';
temp[2] = Character.toUpperCase(temp[2]);
}
if(!vow.contains(Character.toString(temp[2])))
System.out.println("invalid");
else if( (temp.length == 9) && ( (temp[0] + temp[1]) % 2 == 0 ) && ( (temp[3] +
temp[4]) %2 == 0 ) && ( (temp[4] + temp[5]) % 2 == 0) && ( (temp[7] + temp[8]) % 2 == 0) )
System.out.println("valid");
else
System.out.println("invalid");
}
public static String toString(char[] a)
{
String string = new String(a);
return string;
}
}
我认为这是您测试它是否是一个数字的方式,因为当我更改它时,每次我尝试时它都有效。
代码更改为数字检测:
else if((temp.length == 9) && IIIL(temp[0],numbers) && IIIL(temp[1],numbers) &&
IIIL(temp[3],numbers) && IIIL(temp[4],numbers) && IIIL(temp[5],numbers) &&
IIIL(temp[7],numbers) && IIIL(temp[8],numbers))
新功能:
public static Boolean IIIL(char inp, String list)
{
Boolean end = false;
char[] delimiter = list.toCharArray();
for (int i = 0; i < delimiter.length; i++) {
if (delimiter[i] == inp) {
end = true;
}
}
return(end);}
新变量:
String numbers = "1234567890";
问题内容: 我是Java的新手,所以我编写了这段代码,以便将这整个五年都称为布尔值,并为所有布尔值生成答案。但是,它仅调用最后一个。我该怎么做呢? 问题答案: 您每年需要使用单独的对象,或者至少在创建该年份的对象后立即调用the年检查方法。 您所拥有的是对函数的一系列调用,该函数将值分配给同一对象的属性。因此,只有最后一条语句才起作用,因为先前的值将被覆盖。 另外请注意,您的代码似乎没有正确组织。
该程序允许用户以年数输入贷款金额和贷款期限。 每月和总付款应以1/8的利率递增显示。到目前为止,我已经足够正确地计算出一个数量,但我不知道如何显示所有结果。 我拍摄了以下问题的说明: http://imgur.com/s9JEbtu
我的石头、布、剪刀游戏出错了: 代码:
在选定的时间没有发送通知,当我运行代码时,直接显示了通知并显示了错误。下面是错误消息:E/NotificationManager:notifyAsUser:tag=null,id=12345,user=UserHandle{0}。我以为错误消息是由于生成的。版本SDK_INT,但添加之后,错误消息仍然存在。 将所有这些放在onCreate下: ; //PendingIntent alarmInte
这是我的代码,我想在右侧显示注册和登录
当我尝试编译这段代码时,Eclipse会出现以下两个错误: > 用于函数:maxmin的非法修饰符;只允许最终 对于:Mn不能解析为变量 为什么会出现这两个错误? 我想这可能已经回答了这个问题,但我不明白其中使用的术语。 这是我的代码: