java的输入输出,运行总不对,望解答,谢谢。

import java.util.Scanner;
public class JavaIPO
{
public static void main (String[] args)
{
Scanner sc=new Scanner(System.in);
System.out.print("please input int:");
int n=sc.nextInt();
System.out.print("please input double:");
double s=sc.nextDouble();
System.out.print("please input String:");
String str=sc.nextLine();
System.out.printf("n=%d,d=%ld,str=%s",n,s,str);
}
}

 java的double输出是f,不是ld

你把输出改成换行println
最后一个输出是错的多个一个字母

import java.util.Scanner;

public class JavaIPO
{
    public static void main (String[] args)
    {
        Scanner sc=new Scanner(System.in);

        System.out.print("please input int:");
        int n=sc.nextInt();

        System.out.print("please input double:");
        double s=sc.nextDouble();

        System.out.print("please input String:");
        String str=sc.next();

        System.out.printf("n="+n+",d="+s+",str="+str);
    }
}

你这是C++的输出,不是java的。

String不是java本身有的数据类型,%s不对吧

String str=sc.next();
System.out.printf("n=%d,d=%f,str=%s",n,s,str);
最后两行代码问题

1.string 用sc.next()接受,
2.d=%1d修改为d=%f

System.out.printf("n=%d,d=%f,str=%s", n, s, str);,你的d=%ld转换错误.改成d=%f就好了.你可以看下:http://blog.csdn.net/swandragon/article/details/4653600

换行输出:
public static void main (String[] args){
Scanner sc=new Scanner(System.in);
System.out.println("please input int:");
int n=sc.nextInt();

    System.out.println("please input double:");
    double s=sc.nextDouble();

    System.out.println("please input String:");
    String str=sc.next();

    System.out.println("n="+n+",d="+s+",str="+str);  
}

第一个要输入int类型,比如123
第二个要输入double类型,比如123.00
第三个要输入string类型,比如abc
我的运行结果:
    please input int:

123
please input double:
123.00
please input String:
abc
n=123,d=123.0,str=abc

import java.util.Scanner;

public class JavaIPO {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("please input int:");
int n = sc.nextInt();
System.out.println("please input double:");
double s = sc.nextDouble();
System.out.println("please input String:");
String str = sc.next();
System.out.println("n="+n+",d="+s+",str="+str);
}
}

注意:用String str = sc.next();不是String str=sc.nextLine();
print用法也不对

                    这样可以正确输出的
                    Scanner sc=new Scanner(System.in);
        System.out.print("please input int:");
        int n=sc.nextInt();
        System.out.print("please input double:");
        double s=sc.nextDouble();
        System.out.print("please input String:");
        String str=sc.next();
        String str1=sc.nextLine();
        System.out.printf("n=%d,d=%f,str=%s",n,s,str);

String str=sc.next();
System.out.printf("n=%d,d=%f,str=%s",n,s,str);
最后两行代码问题

1.string 用sc.next()接受,
2.d=%1d修改为d=%f

你把输出改成换行println
最后一个输出是错的多个一个字母