my goal is to generate a random number every 10 seconds and store in arraylist. when I generate the new number every 10 second I want to update the previous number from the arraylist. currently it gets the first number current num in main method but when I store after 10 second i'm not geting the update current number. NOTE: ***I want the Runnable to be in the arraylist method. Not in main method. my goal is to send the arraylist that has the update number***
import java.util.ArrayList;
import java.util.Random;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.Callable;
import java.util.concurrent.FutureTask;
public class Main
{
public static void main(String[] args) throws Exception
{
ScheduledExecutorService executor =
Executors.newScheduledThreadPool(1);
//schedule thread for evry 10 seconds
//executor.schedule(new sampleCallableExample(), 1,
TimeUnit.MILLISECONDS);
executor.scheduleAtFixedRate(new sampleCallableExample(), 0, 10,
TimeUnit.SECONDS);
System.out.println("array size:"+globals.Update.size());
for(int x=0;x {
System.out.println("Current Num = " + globals.Update.get(x));
}
}
}
import java.util.ArrayList;
public class globals
{
public static ArrayList Update = new ArrayList();
}
sampleCallableExample.java :
import java.util.concurrent.Callable;
import java.util.concurrent.FutureTask;
import java.util.Random;
class sampleCallableExample implements Runnable
{
public static int genrand()
{
Random number = new Random();
//generate random number
int rand = number.nextInt(1000);
//return generated random number
return rand;
}
public Object call() throws Exception
{
//ArrayList Update = new ArrayList();
int CurrentNum = genrand();
System.out.println("generate number ==== " + CurrentNum);
globals.Update.clear();
globals.Update.add(CurrentNum);
System.out.println("Number added");
return globals.Update;
}
// As seen run wraps call object
public void run()
{
try
{
Object o = call();
//System.out.println("Returned " + o);
}
catch (Exception e)
{
e.printStackTrace();
}
}
public sampleCallableExample()
{
try
{
run();
}
catch(Exception e)
{
}
}
}
Current Output:
generate number ==== 809
Number added
array size:1
Current Num = 809
generate number ==== 6
Number added
generate number ==== 107
Number added
It should be :
generate number ==== 809
Number added
array size:1
Current Num = 809
generate number ==== 6
Number added
array size:1
Current Num = 6
generate number ==== 107
Number added
array size:1
Current Num = 107
NOTE: ***I want the Runnable to be in the arraylist method. Not in main method. my goal is to send the arraylist that has the update number***I would apperciate any help.
Hi,
Please find the update code according to the sample output:
================================================
Main.java
================================================
import java.util.ArrayList;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class Main {
public static void main(String[] args) throws
Exception {
ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
//schedule thread for evry 10 seconds
//executor.schedule(new sampleCallableExample(), 1,
TimeUnit.MILLISECONDS);
executor.scheduleAtFixedRate(new
sampleCallableExample(), 0, 10, TimeUnit.SECONDS);
}
}
class globals {
public static ArrayList Update = new ArrayList();
}
==============================================
sampleCallableExample.java
==============================================
import java.util.Random;
public class sampleCallableExample implements Runnable {
public static int genrand() {
Random number = new Random();
//generate random number
int rand =
number.nextInt(1000);
//return generated random number
return rand;
}
public Object call() throws Exception {
//ArrayList Update = new ArrayList();
int CurrentNum = genrand();
System.out.println("generate number
==== " + CurrentNum);
globals.Update.clear();
globals.Update.add(CurrentNum);
System.out.println("Number
added");
System.out.println("array size:" +
globals.Update.size());
System.out.println("Current Num = "
+ globals.Update.get(0));
return globals.Update;
}
// As seen run wraps call object
public void run() {
try {
Object o =
call();
//System.out.println("Returned " + o);
} catch (Exception e) {
e.printStackTrace();
}
}
public sampleCallableExample() {
try {
run();
} catch (Exception e) {
}
}
}
Sample output:

I hope this helps you!!
Thanks
my goal is to generate a random number every 10 seconds and store in arraylist. when...
my goal is to generate a random number every 10 seconds and store in arraylist. when I generate the new number every 10 second I want to update the previous number from the arraylist. currently it gets the first current number in main method but when I store after 10 second i'm not getting the update current number. I would appreciate any help. NOTE: ***I want the Runnable to be in the same class, Not in main method. my goal...
my goal is to generate a random number every 10 seconds and store in arraylist. when I generate the new number every 10 second I want to update the previous number from the arraylist. currently it gets the first current number in main method but when I store after 10 second i'm not getting the update current number. I would appreciate any help. NOTE: ***I want the Runnable to be in the same class, Not in main method. my goal...
JAVA HELP: Directions Write a program that will create an array of random numbers and output the values. Then output the values in the array backwards. Here is my code, I am having a problem with the second method. import java.util.Scanner; import java.util.Random; public class ArrayBackwards { public static void main(String[] args) { genrate(); print(); } public static void generate() { Scanner scanner = new Scanner(System.in); System.out.println("Seed:"); int seed = scanner.nextInt(); System.out.println("Length"); int length = scanner.nextInt(); Random random...
Write a method public static ArrayList merge(ArrayList a, ArrayList b) that merges two array lists, alternating elements from both array lists. If one array list is shorter than the other, then alternate as long as you can and then append the remaining elements from the longer array list. For example, if a is 1 4 9 16 and b is 9 7 4 9 11 then merge returns the array list 1 9 4 7 9 4 16 9 11...
Write a Java method that should take an ArrayList as a parameter, print its element in the reverse order. The main function that calls the method is the following: import java.util.*; public class ReverseGen { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("How many numbers do you want to input?"); int num = input.nextInt(); ArrayList<Double> d = new ArrayList<Double>(num); for(int i = 0 ; i < num; i++){ System.out.print("Enter...
Look for some finshing touches java help with this program. I just two more things added to this code. A loop at the end that will ask the user if they want to quit if they do want to quit the program stops if they don't it loads a new number sequence. import java.util.Random; import java.util.ArrayList; import java.util.Scanner; import java.util.Arrays; import java.util.List; import java.util.Collections; public class main { public static void main(String[] args) { List < Sequence > list =...
. In the method main, prompt the user for a non-negative integer and store it in an int variable num (Data validation is not required for the lab). Create an int array whose size equals num+10. Initialize the array with random integers between 0 and 50 (including 0 and excluding 50). Hint: See Topic 4 Decision Structures and File IO slides page 42 for how to generate a random integer between 0 (inclusive) and bound (exclusive) by using bound in...
(How do I remove the STATIC ArrayList from the public class Accounts, and move it to the MAIN?) import java.util.ArrayList; import java.util.Scanner; public class Accounts { static ArrayList<String> accounts = new ArrayList<>(); static Scanner scanner = new Scanner(System.in); public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int option = 0; do { System.out.println("0->quit\n1->add\n2->overwirte\n3->remove\n4->display"); System.out.println("Enter your option"); option = scanner.nextInt(); if (option == 0) { break; } else if (option == 1) { add(); } else...
package week_4; import input.InputUtils; import java.lang.reflect.Array; import java.util.ArrayList; import java.util.Random; import static input.InputUtils.positiveIntInput; import static input.InputUtils.yesNoInput; /** Write a program to roll a set of dice. Generate a random number between 1 and 6 for each dice to be rolled, and save the values in an ArrayList. Display the total of all the dice rolled. In some games, rolling the same number on all dice has a special meaning. In your program, check if all dice have the same value,...
Add another method public static void displayObject(ArrayList list, int n) that will display then information on the nth object of list. If n is not a valid index, the method should generate and throw and exception that the main can then process. You get to decide what exception (one built into Java or a custom exception) and how you would like to “handle” the exception (terminate the program, prompt for more input, etc). Here is the program so far: import...