Java 落在球门上

Java 落在球门上,java,Java,所以我编写了一些代码来计算用户输入的最小和最大浮点数 现在我得到了一个后续问题,要求我将最小值和最大值存储在一个文件中 存储最小值和最大值没有任何问题,只是做了一个outputfile打印语句,该语句表示这是最大值+最小值(最小值是变量)。反之亦然 但是,在计算出哪个数字是最大的,哪个数字是最小的之前,我正在努力获取用户输入的每个数字 Did outputfile打印语句,其中包含“(min+max+number);但它只存储min、max和用户上次输入的数字,而不存储两者之间的所有数字 我是否

所以我编写了一些代码来计算用户输入的最小和最大浮点数

现在我得到了一个后续问题,要求我将最小值和最大值存储在一个文件中

存储最小值和最大值没有任何问题,只是做了一个outputfile打印语句,该语句表示这是最大值+最小值(最小值是变量)。反之亦然

但是,在计算出哪个数字是最大的,哪个数字是最小的之前,我正在努力获取用户输入的每个数字

Did outputfile打印语句,其中包含“(min+max+number);但它只存储min、max和用户上次输入的数字,而不存储两者之间的所有数字

我是否需要创建新变量来跟踪每个输入的浮点数?还是需要连接其他变量

我尝试过使用数组,但没有掌握

看看这个文件,我已经走了多远了

也许还有另一种更合适的方式,不要犹豫,改变一下,让它正常运作

我希望你能理解我

期待你的建议

使用Java

`导入java.io.*; 导入java.io.IOException; 导入java.util.Scanner

公共类输出{

public static void main(String[] args)  throws IOException //Eftersom vi inte lärt oss att hantera exceptions än
{
    PrintWriter outputFile = new PrintWriter("C:\\Users\\Boo\\Desktop\\output.txt");  //Öppnar en ny fil



    // Variabel för att förvara "flyttal"

    float nummer;

    float array[]=null;

    //Deklarera max variabeln för att hålla största numret

    //Initialisera max med minimum värde möjligt

    float max=Float.MIN_VALUE;

    //Deklarera min variabeln för att hålla minsta numret

    //Initialisera min med maximum värde möjligt

    float min=Float.MAX_VALUE;

    //char variabel för att förvara Y/N, med andra ord är du klar?

    char yn;

    //scanner för att läsa input

    Scanner keyboard = new Scanner(System.in);

    System.out.println("Start entering floating point numbers");

    do {

    //läs float input

    nummer = keyboard.nextFloat();

    if(max<nummer) //om max är mindre än nuvarande nummer

    max = nummer; //Då uppdateras max till nuvarande nummer

    if(min>nummer) //om min är större än nuvarande nummer

    min = nummer; //Uppdatera min till nuvarande nummer

    // Fråga användaren om inmatandet är klart?

    System.out.print("Are you done? (Y/N)?");


    yn = keyboard.next().charAt(0);

    // En loop som går tills användaren skriver n/N
    }while(yn=='N' || yn=='n'); 

    // Printar sen då resultatet, dvs högsta och minsta numret

    System.out.println("Biggest number entered is: "+max);

    System.out.println("Smallest number entered is: " +min);
    outputFile.println("Biggest number entered is:" +  min);
    outputFile.println("Smallest number entered is:" + max);
    outputFile.println("All of the numbers entered is:" +  );
    System.out.println("Data written to the file.");

    outputFile.close();
}
}
publicstaticvoidmain(String[]args)抛出IOException//Eftersom vi intelärt oss atthantera exceptionsän
{
PrintWriter outputFile=new PrintWriter(“C:\\Users\\Boo\\Desktop\\output.txt”);//Öppnar en ny fil
//瓦里亚贝尔·弗尔·阿特·弗瓦拉“弗利塔尔”
浮点数;
浮点数组[]=null;
//德克拉雷拉·马克斯·瓦里贝伦·弗雷特·赫拉·斯特尔斯塔·努姆雷特(Deklarera max variabeln för att hålla största numret)
//初始化器最大最小值värde möjligt
浮动最大值=浮动最小值;
//在新内阁会议期间,我们将继续努力
//初始化器最小中值最大värde möjligt
浮动最小值=浮动最大值;
//你是说,安德拉·奥德·杜克拉尔医生吗?
查尔恩;
//扫描仪för att läsa输入
扫描仪键盘=新扫描仪(System.in);
System.out.println(“开始输入浮点数”);
做{
//läs浮点输入
nummer=keyboard.nextFloat();
if(maxnummer)//om minär störreän nuvarande nummer
min=nummer;//Uppdatera-min-till-nuvarande-nummer
//你是说你在监狱里吗?
系统输出打印(“完成了吗?(是/否)”;
yn=键盘.next().charAt(0);
//n/n斯坎达伦河上游
}而(yn=='N'| yn=='N');
//普林塔尔·森·迪什·雷斯塔特(Printar sen dåResultate),dvs högsta och minsta numret
System.out.println(“输入的最大数字为:“+max”);
System.out.println(“输入的最小数字为:“+min”);
println(“输入的最大数字为:“+min”);
println(“输入的最小数字为:“+max”);
println(“输入的所有数字都是:”+);
System.out.println(“写入文件的数据”);
outputFile.close();
}
}

使用数组时,需要为数据分配空间。这意味着您需要提前知道所需的项数:

float array[] = new float[100];
这将创建一个数组,其空间为100<代码>浮点

然后,在从用户处读取数字时,将所有数字添加到数组中:

int currentIndex= 0; // Keep track of where to put the next number
do {
    nummer = keyboard.nextFloat();
    array[currentIndex++] = nummer;
    // .....
} while(currentIndex < 100 && (yn == 'N' || yn == 'n'));
int currentIndex=0;//跟踪下一个数字的放置位置
做{
nummer=keyboard.nextFloat();
数组[currentIndex++]=nummer;
// .....
}而(currentIndex<100&(yn='N'| | yn='N');
请注意,我添加了一个检查,确保在数组已满时不添加任何内容

最后,使用循环写入文件中的所有值

outputFile.println("All of the numbers entered:" +  );
for (int i = 0; i < currentIndex; i++) {
    outputFile.println(array[i]);
}
outputFile.println(“输入的所有数字:”+);
对于(int i=0;i

注意:还有其他容器,例如,不要求您提前知道需要多少项。

我看不出您在哪里向阵列添加用户号,因为它基于“扫描用户”。因此我不知道要添加哪些数字,因此为“空”“显示im丢失。当您读取
numer
时,将其添加到数组中。但是,在执行此操作之前,必须使用
new
分配数组。你们可能应该读一本。我在java教科书和oracle上读了很多关于数组的书,但我就是搞不懂。5个多小时来我一直在为这最后一部分绞尽脑汁。。因此,在这里呼救。设置一个合理的标题