我正在尝试编写一个程序,它基本上会读取1,000到999,999之间的任何整数,然后用逗号分隔数千个显示它。到目前为止,我有这个,日食不喜欢它。为什么?
/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
// Scanner scan = new scanner(system.in);
double value, integer;
System.out.println("Enter your value without a comma");
integer = scan.nextdouble();
System.out.println(integer,);
scan.close();
答案 0 :(得分:1)
至少可以说,您的代码看起来很有问题。首先,您声明Scanner应该被注释的行是什么?如果没有,那可能是问题的一部分。您应该注意将大写System.in
传递给扫描仪。您还想使用nextDouble()
方法。 (Java区分大小写!)您还要在第二个打印语句中小心,您执行的操作更像System.out.println(integer+",");
答案 1 :(得分:1)
你的代码中有很多错误,这就是为什么eclipse不喜欢它;)
仅举几例:
查看下面的这个代码段并运行得很好:)
/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone {
public static void main(String[] args) throws java.lang.Exception {
Scanner scan = new Scanner(System.in);
double value, intValue;
System.out.println("Enter your value without a comma");
intValue = scan.nextDouble();
System.out.println(intValue);
scan.close();
}
答案 2 :(得分:1)
首先,解决方案:
import java.text.NumberFormat;
import java.util.Locale;
import java.util.Scanner;
public class Ideone {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("Enter a number:");
long number = scan.nextLong();
NumberFormat f = NumberFormat.getInstance(Locale.ENGLISH);
System.out.println(f.format(number));
scan.close();
}
}
你的问题代码:
java.lang.*
但不使用它。java.lang.Exception
,但我在您的代码中看不到任何内容。scan
声明。scanner
首字母大写(java区分大小写),system
double
的{{1}},但您没有使用它。value
的{{1}}(当你真正想要的是一个整数时)。double
代替integer
(但请记住,您需要一个整数,因此您应该调用scan.nextdouble()
)。scan.nextDouble()
,这甚至都不是你想要的,你可以尝试scan.nextInt()
连接,但它也不是你想要的。您应该在初学者资源部分查看https://stackoverflow.com/tags/java/info,并尝试了解更多内容并自行解决一些问题。
答案 3 :(得分:0)
为什么你评论了扫描仪的实例化,我也看到了那里的拼写错误。编译器将在未初始化的'scan'对象上抛出异常。
Scanner scan = new Scanner(system.in);
答案 4 :(得分:0)
除了Micah的回答,我建议你检查一下用户的输入,检查范围1000 - 999,999并重新提示用户输入值,如果没有,它将超出范围的目的。
System.out.println("Enter your value without a comma");
integer = scan.nextDouble();
while (integer > 999999 OR integer < 1000)
{
System.out.println("Please keep your range in between 1000 - 999,999");
integer = scan.nextDouble();
}