0

How do access array using scanner im unsure what i put in println() method. Thanks

import java.util.*; public class Program { public static void main(String[] args) { Scanner x = new Scanner(System.in); int y = x.nextInt(); int [][] z = {{1,2,3},{4,5,6}}; System.out.println(); } }

21st Jul 2017, 9:01 PM
D_Stark
D_Stark - avatar
4 ответов
+ 2
I don't understand. You want to print the entire array? Or, just a value? You put in the parenthesis of print() whatever you want to print to the console. So, System.out.println(z[1][1]); // Output: 5 So to print everything you'd use 2 for loops. One for each array, the other for each element in that array. (In simpler words, one for the columns, one for the rows).
21st Jul 2017, 10:12 PM
Rrestoring faith
Rrestoring faith - avatar
+ 2
Hm.. Like litteraly input that word for word? It certainlly can be done, but may get messy. Lets break it down. "using scanner [1][1]" The only thing that actually matters here is [1][1]. If you want using scanner to be some kind of keyword: depending on how advanced you want this, you can do something like this: Keep in mind this is a simple version. It can be heavily improved, I'm just writing it here in hopes you can get the idea. I'm also writing this on phone, let me know if there's mistakes. You should also check if the index is out of bounds (which I didn't do). Probably also better to use StringBuilder. public static void main(String[] meatBall){ Scanner sc = new Scanner(System.in); String input = sc.nextLine(); // scanner is "sc" // User wants to use the scanner if(input.contains("using scanner")) scannerCall(input.replace("using scanner"), ""); } // separate method static void scannerCall(String indexs){ indexs = indexs.replaceAll("\\s","");  // remove spaces //Now we need to get the ints from [1][1] int col = Integer.parseInt(""+indexs.charAt(indexs.indexOf("[")+1)); indexs = indexs.replace("["+col+"]", ""); // remove first [1] from string int row = Integer.parseInt(""+indexs.charAt(indexs.indexOf("[")+1)); // Now we have everything we need int[][] array = {{5,1},{1,3}}; System.out.println(array[col][row]); } Now if I input "using scanner [1][0]" the output should be: 1. Which is exactly as it should be in the array. 👌
21st Jul 2017, 11:31 PM
Rrestoring faith
Rrestoring faith - avatar
0
sorry, i want to use scanner to output the value? so when i input "using scanner" [1][1] the output will be 5? can this be done?
21st Jul 2017, 10:27 PM
D_Stark
D_Stark - avatar
0
sorry faith i dont think i explained my self propley i eventually figured out what i needed to do i will try and add another array tommrow thanks. import java.util.Scanner; public class Program { public static void main(String[] args) { int [] array = {10, 5, 7, 2}; System.out.println("Choose a value between 0-4 inside array"); Scanner scan = new Scanner(System.in); int num = scan.nextInt(); int value = array[num]; System.out.println(value + " < Your selected Value"); } }
22nd Jul 2017, 12:16 AM
D_Stark
D_Stark - avatar