Saya mencari jawaban di situs web ini yang berkaitan dengan menemukan nilai data tertinggi/terendah dalam suatu program, tetapi yang saya temukan hanyalah kode yang berkaitan dengan array. Tidak ada array dalam kode saya, jadi saya akan berasumsi bahwa teknik untuk mengetahui nilai tertinggi atau nilai terendah akan dijalankan secara berbeda.

Jika Anda melihat kode saya, Anda dapat melihat di bagian bawah output bahwa ada dua baris yang mengatakan:

The highest performance score was: 0
The lowest performance score was: 0

Saya sama sekali tidak tahu bagaimana menggunakan kode untuk menghasilkan skor kinerja tertinggi atau skor kinerja terendah. Alih-alih 0, saya ingin dua skor kinerja dari dua komputer yang dianalisis dibandingkan dan ditampilkan. Jadi sekali lagi, alih-alih 0 di output, saya ingin menjadi:

The highest performance score was: 15400.000000000002
The lowest performance score was: 13000.0

Jadi bagaimana saya menjalankan ini? Semua bantuan dihargai.

Keluaran:

How many computers are being processed? 2

Computer Hardware Graphics Quality Recommendation Tool

Enter the clock speed (in Megahertz) of your graphics card: 1000
Enter the clock speed (in Megahertz) of your processor: 2000
Enter the number of cores that your processor has: 4
Monitor resolution menu:
1. 1280 x 720
2. 1920 x 1080
3. 2560 x 1440
4. 3840 x 2160
Please select one of the choices above: 1

GPU Clock Speed: 1000 MHz
CPU Clock Speed: 2000 MHz
Number of cores: 4
Monitor Resolution: 1280 x 720
Performance Score: 13000.0
Recommended Graphics Quality: Medium

The highest performance score was: 0
The lowest performance score was: 0

Computer Hardware Graphics Quality Recommendation Tool

Enter the clock speed (in Megahertz) of your graphics card: 2000
Enter the clock speed (in Megahertz) of your processor: 3000
Enter the number of cores that your processor has: 6
Monitor resolution menu:
1. 1280 x 720
2. 1920 x 1080
3. 2560 x 1440
4. 3840 x 2160
Please select one of the choices above: 3

GPU Clock Speed: 2000 MHz
CPU Clock Speed: 3000 MHz
Number of cores: 6
Monitor Resolution: 2560 x 1440
Performance Score: 15400.000000000002
Recommended Graphics Quality: High

The highest performance score was: 0
The lowest performance score was: 0

Kode saya:

/*
This program will help the user identify and further understand the capabilities of their computer's hardware.
When the program is run, the user will be asked to input facts and information about their computer's hardware.
Once the information about the user's computer hardware is processed by the program,
the user will see results that explain the capabilities and potential of their computer.
In this new edition of the program, the user will have the option to analyze multiple computers, rather than just one.
They will also be able to compare their computer's performance score at the end.
*/

import java.util.Scanner; //This allows the program to utilize the Scanner class to get the user's input.


public class Project2_Ben_Mayo
{
   public static void main(String[] args)
   {


   String title = "Computer Hardware Graphics Quality Recommendation Tool"; //Title string
   int numOfComputers = 0; //To hold the number of computers being tested
   int GPUspeed = 0; //To hold the user's GPU clock speed (in Megahurtz)
   int CPUspeed = 0; //To hold the user's CPU clock speed (in Megahurtz)
   int numCores = 0; //To hold the number of cores in the user's CPU
   int menuChoice = 0; //To hold the user's menu choice
   String monitorRes = ""; //To hold the user's monitor resoltion
   String quality = ""; //To hold the quality of performance while gaming
   double multiplier = 0.0; //To hold the multiplier value
   double performanceScore = 0.0; //To hold the performance score value
   int highestScore = 0;
   int lowestScore = 0;

   Scanner sc = new Scanner(System.in); //This is the scanner object


   System.out.print("\n" + "How many computers are being processed? "); //ask the user to enter the number of computers they would like to test
   numOfComputers = sc.nextInt();

   if (numOfComputers <= 0) { //If the number of computers is less than or equal to 0, this notifies the user that the number of computers must be greater than or equal to 1
   System.out.print("The number of computers being processed must be at least one.");
   }


   //Use for loop to ask the user to enter the information for each computer
   for(int computerNumber = 0; computerNumber < numOfComputers; computerNumber++) { //Begin for loop

   System.out.println("\n" + title); //Print the title

   System.out.print("\n" + "Enter the clock speed (in Megahertz) of your graphics card: "); //This is an indicator of how fast the user's graphics card is
   GPUspeed = sc.nextInt();

   while(GPUspeed < 800 || GPUspeed > 2000) { //While the user provides an invalid input, display an error message and have them re-enter their input
      System.out.print("Invalid input. Plase enter a valid GPU speed: "); //display an error message if the user gave invalid input
      GPUspeed = sc.nextInt(); //re-read in the user's input for the GPU speed
   }


   System.out.print("Enter the clock speed (in Megahertz) of your processor: "); //This is an indicator of how fast the user's processor is
   CPUspeed = sc.nextInt();

    while(CPUspeed < 1000 || CPUspeed > 5500) { //While the user provides an invalid input, display an error message and have them re-enter their input
      System.out.print("Invalid input. Plase enter a valid CPU speed: "); //display an error message if the user gave invalid input
      CPUspeed = sc.nextInt(); //re-read in the user's input for the CPU speed
   }


   System.out.print("Enter the number of cores that your processor has: "); //This is an indicator of how many cores the user's CPU contains
   numCores = sc.nextInt();

    while(numCores < 1 || numCores > 16) { //While the user provides an invalid input, display an error message and have them re-enter their input
      System.out.print("Invalid input. Plase enter a valid number of cores: "); //display an error message if the user gave invalid input
      numCores = sc.nextInt(); //re-read in the user's input for the number of cores
   }



   //Monitor resolution menu
   System.out.println("Monitor resolution menu:");
   System.out.println("1. 1280 x 720");
   System.out.println("2. 1920 x 1080");
   System.out.println("3. 2560 x 1440");
   System.out.println("4. 3840 x 2160");

   System.out.print("Please select one of the choices above: "); //Ask the user to choose the resolution of their monitor
   menuChoice = sc.nextInt();

   while(menuChoice < 1 || menuChoice > 4) { //While the user provides an invalid input, display an error message and have them re-enter their input
      System.out.print("Invalid selection. Plase pick a valid option from the menu: "); //display an error message if the user gave invalid input
      menuChoice = sc.nextInt(); //re-read in the user's input for the menu selection
   }


   //Assign the menu options to their values to enable the menu to funtion correctly
   if (menuChoice == 1) {        //If the user selects menu option number 1, "monitorRes" = "1280 x 720"
      monitorRes = "1280 x 720";
   }
   else if (menuChoice == 2) {   //If the user selects menu option number 2, "monitorRes" = "1920 x 1080"
      monitorRes = "1920 x 1080";
   }
   else if (menuChoice == 3) {   //If the user selects menu option number 3, "monitorRes" = "2560 x 1440"
      monitorRes = "2560 x 1440";
   }
   else if (menuChoice == 4) {   //If the user selects menu option number 4, "monitorRes" = "3840 x 2160"
      monitorRes = "3840 x 2160";
   }


   //This segment will determine what the mulitplier object will be
   if (menuChoice == 1) {
      multiplier = 1;
   }
   else if (menuChoice == 2) {
      multiplier = .75;
   }
   else if (menuChoice == 3) {
      multiplier = .55;
   }
   else if (menuChoice == 4) {
      multiplier = .35;
   }


   //Performance Score multiplier
   performanceScore = ((5 * GPUspeed) + (numCores * CPUspeed)) * multiplier;



   //Recommended graphics quality that the user's hardware can support.
   if (performanceScore >= (17000)) {       //If the performance score is greater than or equal to 17,000, the quality of the performance is ultra
      quality = "Ultra";
   }
   else if (performanceScore >= (15000)) {  //If the performance score is greater than or equal to 15,000, the quality of the performance is high
      quality = "High";
   }
   else if (performanceScore >= (13000)) {  //If the performance score is greater than or equal to 13,000, the quality of the performance is medium
      quality = "Medium";
   }
   else if (performanceScore >= (11000)) {  //If the performance score is greater than or equal to 11,000, the quality of the performance is low
      quality = "Low";
   }
   else if (performanceScore < (11000)) {   //If the performance score is less than 11,000, the quality of the performance is unplayable
      quality = "Unable to Play";
   }


   //Print the results
   System.out.println("\nGPU Clock Speed: " + GPUspeed + " MHz"); //User's GPU speed (in Megahurtz)
   System.out.println("CPU Clock Speed: " + CPUspeed + " MHz"); //User's CPU speed (in Megahurtz)
   System.out.println("Number of cores: " + numCores); //Number of cores that the user's CPU contains
   System.out.println("Monitor Resolution: " + monitorRes); //User's moniter resolution
   System.out.println("Performance Score: " + performanceScore); //The user's computer performance score
   System.out.println("Recommended Graphics Quality: " + quality); //Estimated quality of graphics during gameplay

   System.out.println("\n" + "The highest performance score was: " + highestScore);
   System.out.println("The lowest performance score was: " + lowestScore);

      } //End for loop
   } //End class
} //End main
0
Mayo 4 Maret 2020, 20:31

1 menjawab

Jawaban Terbaik

Jika Anda tidak ingin membuat daftar dan menyimpan di sana nilai PerformanceScore, maka Anda dapat menambahkan logika di dalam for loop sebelum mencetak hasilnya untuk menyimpan dalam variabel, nilai tertinggi dan nilai terendah, nilai kinerja tertinggi dan terendah yang telah Anda ulangi. jauh:

if(performanceScore > highestScore) {
    highestScore = performanceScore;
}
if(lowestScore == 0 || performanceScore < lowestScore) {
    lowestScore = performanceScore;
}
1
Alberto Castro 4 Maret 2020, 19:01