Tim van Dalen
Tim van Dalen

Reputation: 1471

Java Scanner() to read from Array

I know you can set the input for a scanner in Java. Is it possible to feed an array to the scanner?

Upvotes: 0

Views: 8713

Answers (3)

kim
kim

Reputation: 1

public class Totalsum {

  public static void main(String[] args){

  int[] y={6,1,5,9,5};
  int[] z={2,13,6,15,2};

  int Total= sumLargeNumber(y,z,5);

  System.out.println("The Total sum is "+Total); //call method
}

public static int sumLargeNumber(int a[], int b[], int size) {
  int total=0;

  for(int i=0; i< size; i++) {
    if(a[i] > b[i]){
      total=total+a[i];
    }

    else {
      total=total+b[i];
    }
  }
  return total;
}

Upvotes: 0

ide
ide

Reputation: 20838

There is nothing built in, but you could certainly join all of the elements in your array and pass the resulting string into the Scanner constructor.

A solution with better performance but a greater time investment is to implement Readable by wrapping your array, and keeping track of the current element in the array and the current position in that element's string representation. You can then fill the buffer with data from the backing array as the Scanner reads from your Readable object. This approach lets you lazily stream data from your array into the Scanner, but at the cost of requiring you to write some code.

Upvotes: 1

fli
fli

Reputation: 170

Use the Arrays.toString() method on the array. For example:

int[] arrayOfInts = {1, 2, 3};
Scanner s = new Scanner(Arrays.toString(arrayOfInts));

while (s.hasNext()) {
    System.out.println(s.next());
}

Will print out:

[1,
2,
3]

Upvotes: 1

Related Questions