输入格式
输出格式
在第一行打印两个整数的总和,在第二行打印两个双打(缩放到小数位)的总和,然后在第三行打印两个连接的字符串。这是我的代码
package programs;
import java.util.Scanner;
public class Solution1 {
public static void main(String[] args) {
int i = 4;
double d = 4.0;
String s = "Programs ";
Scanner scan = new Scanner(System.in);
int i1 = scan.nextInt();
double d1 = scan.nextDouble();
String s1 = scan.next();
int i2 = i + i1;
double d2 = d + d1;
String s2 = s + s1;
System.out.println(i2);
System.out.println(d2);
System.out.println(s2);
scan.close();
}
}
输入(stdin)
12
4.0
are the best way to learn and practice coding!
你的输出(标准输出)
16
8.0
programs are
预期产出
16
8.0
programs are the best place to learn and practice coding!
答案 0 :(得分:3)
Scanner.next()
读取下一个令牌。默认情况下,空格用作标记之间的分隔符,因此您只能获得输入的第一个单词。
听起来您想要阅读整个行,因此请使用Scanner.nextLine()
。根据{{3}},您需要拨打nextLine()
一次,以便在double
之后使用换行符。
// Consume the line break after the call to nextDouble()
scan.nextLine();
// Now read the next line
String s1 = scan.nextLine();
答案 1 :(得分:3)
您正在使用scan.next()
,它以空格作为分隔符读取每个值。
但是在这里你需要读完整行,所以使用
String s1 = scan.nextLine();
答案 2 :(得分:1)
您需要做的就是改变
String s1 = scan.next();
到
String s1 = scan.nextLine();
答案 3 :(得分:1)
您需要使用scan.nextLine()
,它将读取一个完整的行和scan.next()
读取值,每个值都带有空格作为分隔符。
package programs;
import java.util.Scanner;
public class Solution1 {
public static void main(String[] args) {
int i = 4;
double d = 4.0;
String s = "Programs ";
Scanner scan = new Scanner(System.in);
int i1 = scan.nextInt();
double d1 = scan.nextDouble();
String s1 = scan.nextLine();
int i2 = i + i1;
double d2 = d + d1;
String s2 = s + s1;
System.out.println(i2);
System.out.println(d2);
System.out.println(s2);
scan.close();
}
}