MHB Multiple arrays: Key and value.

Click For Summary
The discussion revolves around a coding problem involving two arrays, keysList and itemsList, where the goal is to print values from itemsList corresponding to elements in keysList that are greater than 100. The original code mistakenly divides the values in itemsList by 2, leading to incorrect outputs for some test cases. The user initially achieved partial success but struggled with the last test case. After receiving feedback, they realized the error stemmed from unnecessary division and adjusted their code to directly use itemsList[i]. This correction resolved the issue, allowing the program to produce the expected outputs for all test cases. The conversation highlights the importance of understanding problem requirements and the impact of code modifications on output accuracy.
lypena35
Messages
18
Reaction score
0
Hello, I am stuck on this question.The bold part is where I am stuck. I was able to get at least 2 out of the 3 test outputs but I can't seem to get the last one. I tired taking out the dividing by 2 but then the first test output doesn't work. Thank you.

Question:
For any element in keysList with a value greater than 100, print the corresponding value in itemsList, followed by a space. Ex: If keysList = {42, 105, 101, 100} and itemsList = {10, 20, 30, 40}, print:
20 30
Since keysList[1] and keysList[2] have values greater than 100, the value of itemsList[1] and itemsList[2] are printed.
This is my code

Code:
import java.util.Scanner;

public class ArraysKeyValue {
   public static void main (String [] args) {
      final int SIZE_LIST = 4;
      int[] keysList = new int[SIZE_LIST];
      int[] itemsList = new int[SIZE_LIST];
      int i = 0;

      keysList[0] = 42;
      keysList[1] = 105;
      keysList[2] = 101;
      keysList[3] = 100;

      itemsList[0] = 10;
      itemsList[1] = 20;
      itemsList[2] = 30;
      itemsList[3] = 40;
[B]
     * for(i=0;i<SIZE_LIST;i++){
         if(keysList[i]>100){
            System.out.print(itemsList[i]/2+itemsList[i]/2+(" "));
           
         }
         
         }*
[/B]
      System.out.println("");

      return;
   }
}
This is the test output.

Testing with keysList ={42, 105, 101, 100} and
itemsList = {10, 20, 30, 40}
Your output: 20 30

Testing with keysList ={99, 100} and
itemsList = {14, -11}
Your output:

✖ Testing with keysList ={101, 312, 541, 120, 199, 114, 107, 221, 987, 876} and
itemsList = {1, 2, 17, 98, 75, 96, 3, 492, -14, -11}
Expected output: 1 2 17 98 75 96 3 492 -14 -11
Your output: 0 2 16 98 74 96 2 492 -14 -10
 
Last edited by a moderator:
Technology news on Phys.org
Why do you print [m]itemsList/2 + itemsList/2[/m] instead of [m]itemsList[/m]? Where does the problem statement say something about dividing by 2?
 
I tired it with just the itemsList but I received a error. I now understand the error must have been with another part of my code. The division was only a temporary fix to answer the first two outputs but it was to specific, so I needed a more generic answer. I retyped my portion of the code in and I used the itemsList as you suggested and it worked this time. Thank you very much for your help. I appreciate it.
 
Anthropic announced that an inflection point has been reached where the LLM tools are good enough to help or hinder cybersecurity folks. In the most recent case in September 2025, state hackers used Claude in Agentic mode to break into 30+ high-profile companies, of which 17 or so were actually breached before Anthropic shut it down. They mentioned that Clause hallucinated and told the hackers it was more successful than it was...

Similar threads

  • · Replies 29 ·
Replies
29
Views
3K
  • · Replies 15 ·
Replies
15
Views
4K
  • · Replies 23 ·
Replies
23
Views
2K
Replies
20
Views
2K
  • · Replies 7 ·
Replies
7
Views
4K
  • · Replies 5 ·
Replies
5
Views
4K
  • · Replies 17 ·
Replies
17
Views
3K
Replies
1
Views
5K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 13 ·
Replies
13
Views
3K