将数字读取为字符串序列并将 first 和 last 转换为 Integer
Read number as string sequence and convert first and last to an Integer
我是编程新手,刚开始学习 Java。
我想做一个
的程序
- 要求用户输入包含数字序列的字符串,然后
- 取该序列的第一个和最后一个数字,
- 检查这些数字是奇数还是偶数
根据该信息,它将执行某些操作。
这是我的代码:
public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
String n = kb.nextLine();
Integer x = Integer.valueOf(n.charAt(n.length() - 1));
Integer y = Integer.valueOf(n.charAt(0));
String out;
if (y % 2 == 0 && x % 2 == 0) {
out = "$" + n.substring(1, n.length() - 1) + "$";
} else if (y % 2 > 0 && x % 2 > 0) {
out = "X" + n.substring(1, n.length() - 1) + "X";
} else if (x == 0); {
out = n.substring(0, n.length() - 1) + "#";
}
System.out.println(out);
}
我不确定是什么问题。我认为是关于这两行
Integer x = Integer.valueOf(n.charAt(n.length()-1));
Integer y = Integer.valueOf(n.charAt(0));
输出值与输入值不同..
Scanner代码可以改进,你的转换确实有问题。您的代码获取这些符号的 ASCII 值。像这样尝试:
public static void main (String[] args) throws java.lang.Exception
{
Scanner console = new Scanner(System.in);
while (console.hasNextLine()) {
String n = console.nextLine();
Integer x = Integer.parseInt(n.substring(n.length()-1));
//System.out.println(x);
Integer y = Integer.parseInt(n.substring(0, 1));
//System.out.println(y);
String out;
if (y % 2 == 0 && x % 2 == 0)
{
out = "$"+n.substring(1, n.length()-1)+"$";
}
else if (y % 2 > 0 && x % 2 > 0) {
out = "X" +n.substring(1, n.length()-1) + "X";
}
else if (x == 0);
{
out = n.substring(0, n.length()-1)+ "#";
}
System.out.println(out);
}
}
我使用过 substring()/parseInt() 但有很多方法可以将 string or char 转换为整数。
我是编程新手,刚开始学习 Java。
我想做一个
- 要求用户输入包含数字序列的字符串,然后
- 取该序列的第一个和最后一个数字,
- 检查这些数字是奇数还是偶数
根据该信息,它将执行某些操作。
这是我的代码:
public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
String n = kb.nextLine();
Integer x = Integer.valueOf(n.charAt(n.length() - 1));
Integer y = Integer.valueOf(n.charAt(0));
String out;
if (y % 2 == 0 && x % 2 == 0) {
out = "$" + n.substring(1, n.length() - 1) + "$";
} else if (y % 2 > 0 && x % 2 > 0) {
out = "X" + n.substring(1, n.length() - 1) + "X";
} else if (x == 0); {
out = n.substring(0, n.length() - 1) + "#";
}
System.out.println(out);
}
我不确定是什么问题。我认为是关于这两行
Integer x = Integer.valueOf(n.charAt(n.length()-1));
Integer y = Integer.valueOf(n.charAt(0));
输出值与输入值不同..
Scanner代码可以改进,你的转换确实有问题。您的代码获取这些符号的 ASCII 值。像这样尝试:
public static void main (String[] args) throws java.lang.Exception
{
Scanner console = new Scanner(System.in);
while (console.hasNextLine()) {
String n = console.nextLine();
Integer x = Integer.parseInt(n.substring(n.length()-1));
//System.out.println(x);
Integer y = Integer.parseInt(n.substring(0, 1));
//System.out.println(y);
String out;
if (y % 2 == 0 && x % 2 == 0)
{
out = "$"+n.substring(1, n.length()-1)+"$";
}
else if (y % 2 > 0 && x % 2 > 0) {
out = "X" +n.substring(1, n.length()-1) + "X";
}
else if (x == 0);
{
out = n.substring(0, n.length()-1)+ "#";
}
System.out.println(out);
}
}
我使用过 substring()/parseInt() 但有很多方法可以将 string or char 转换为整数。