Iteratively And Recursively Summing And Reversing Array Of Longs
Mar 23, 2015
My program is supposed to use recursion and iteration to sum and reverse elements in an array of Longs. The array is supposed to be 1000000 cells and I am supposed to compute the average times of 99999 trials. When I try to run the program, it keeps saying running.... but doesnt ever do anything.
public class PA2Delegate {
private long[] start;
private long[] end;
private Long reversal;
private Long sum = (long)(int)0;
public static void displayOutputs (int[][] anArray) { System.out.println("Here is your 2Dim array:"); for (int i = 0; i < anArray.length; i++) { System.out.println(Arrays.deepToString(anArray)); } }
This is my code and I get this as a result when I input 10,20,30,...,90 into array[0][0], array[0][1], ..., array[2][2] (3rows, 3columns array)
[[10, 20, 30], [40, 50, 60], [70, 80, 90]]
[[10, 20, 30], [40, 50, 60], [70, 80, 90]]
[[10, 20, 30], [40, 50, 60], [70, 80, 90]]
While I expect to get only
[10, 20, 30]
[40, 50, 60]
[70, 80, 90]
I get no errors at least when I have the same # of rows and # of columns. However, when I have more columns than rows, a compiler stops running when it runs columnSum method.Here's an error message.
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2 at lab10.Array2DMethods.columnSum(Arrays2DDemo.java:70) at lab10.Arrays2DDemo.main(Arrays2DDemo.java:111) Java Result: 1
And here's my code
public static void columnSum (int[][] anArray) { int sum =0; for (int col=0; col < anArray.length; col++) { sum=0; for (int r = 0; r < anArray[col].length; r++ ){ sum += anArray[r][col]; } System.out.println("Sum of column " + col + " = " + sum); } }
why my code doesn't work when I have more columns.
I am trying to sum up the elements of an array. When I test my code the sum is always off by one. For example if I input: 20, 40,30 it gives me 89 instead of 90.
This is what I have so far:
public static void main(String[args]){ int size = kbd.nextInt(); int [] myArray = new int [size] //user inputs the elements of array
I am writing binary search method. I don't want to use recursive way, I want to write this method iteratively
Java Code:
public boolean binarySearch(int[] T, int min, int max, int target) { int mid=(min+max)/2; boolean found = false; int index=0; while (!found && T.length <= 0 ) { if (target == mid) { found = true;
How to calculate the minimum and the maximum in the same program.
public static void main(String[] args) { Scanner keyboard = new Scanner(System.in); int integers; int[] numbers; numbers = new int[10]; int max; int min;
[Code] ....
My result when I input numbers are always the following:
"Numbers in reverse order are: 9, Numbers in reverse order are: 8, Numbers in reverse order are: 7, Numbers in reverse order are: 6 Numbers in reverse order are: 5, Numbers in reverse order are: 4, Numbers in reverse order are: 3, Numbers in reverse order are: 2, Numbers in reverse order are: 1, Numbers in reverse order are: 0."
I am writing a program to reverse a user inputted number (Example - 54321 is 12345) The code works great minus the fact that if I input a number that begins with zero, the output will drop the zero. Would it make more sense to just set this up using strings?
import java.util.*; public class Week7_Programming_Problem { static Scanner console = new Scanner(System.in); public static void main(String[] args) { int inputNum, outputNum;
So I have to design a program that takes a word and reverses the order of it. The exact directions are:Write a recursive method void reverse() that reverses a sentence. For example:
[code = Java] Sentence greeting = new Sentence("Hello!"); greeting.reverse(); System.out.println(greeting.getText()); [/code] prints the string "!olleH".
Implement a recursive solution by removing the first character, reversing a sentence consisting of the remaining text, and combining the two. So basically my biggest issue is my method to actually reverse the word.
public class Sentance { private String Word; public Sentance (String aWord) { Word = aWord;
I am not very comfortable with Strings in Java. The problem I am facing is, taking a string that contains a sentence and reversing the words. Example would be, "Hi I am Bob" and changing it to "Bob am I Hi". Then returning the String.
My initial thoughts were to change the string into a character array and then manually doing the work with loops and tedious comparison statements. I quickly realized that there must be a better way but I am not very familiar with strings in Java to know what a more sufficient way would be.
I have this small program that creates a sales opportunity and its related products, and then prints out the opportunity name, total quantity and total price
class Opportunity{ String name; int Amount; String Stage; int Product_quantity;
[Code] .....
The code works as expected, and is successfully prints :
That said, I feel the way the OpportunityCreator class sums up the quantities and prices (see the comments on the code) is very inefficient, and would only work if there were 3 or less products. How can I design this so that it sums the quantities and prices of all the Product objects that I create, regardless of how many of them are? I understand probably I'd need to redesign the whole thing but I'd like to get at least an idea of how this can be achieved.
Originally I was thinking of creating an ArrayList and adding all the prices/quantities there but wasn't sure how to do. I also thought of using a loop to loop through the different object references and sum the quantity/price but was also unsure on how to do so?
I am brand new to programming and java. I decided I wanted to learn programming so now I'm in a class. I am into my second week and my assignment is to generate 100, 3 digit numbers then add them together. I understand how vast java is, but as of right now we have only studied if/else/switch statements, I was able to get the 100, 3 digit numbers generated, but I cannot add then together.
import java.util.Random; import java.util.Math; public class ThreeDigitGenerator { public static void main(String[] args) { int sum = 0;
"Write a program that takes a word and displays the sum of the numbers comprising its character's Unicode values. "Here is my code:
/** * Description: Prints the word "Sunny" as well as printing the */ public class Assign1{ public static void main(String[] args){ String sun=new String("Sunny"); System.out.println(sun); // Prints Sunny //sets values as strings
I want to use JTable in which the user can enter the obtained marks of students and automatically add (total) the obtained marks in the total column. The structure of the table is given below.
i tried everything but its giving me errors. i tried the for loop but its giving me something else.
this is what i have to do Write a recursive method that prints out the data elements of a linked list in reverse order.
Your method should take in as a parameter the head reference to a linked list. Then, write a recursive method that returns a count of the number of elements greater than a given threshold. You may assume that the data elements in the linked lists are ints. The parameters of your method are a reference to the linked list and a int value representing the threshold.
public class recursion3 { public static void main(String [] args) { char a [] = {'A', 'B','C','D','E'}; System.out.println(a); } public static String reverseString(String s) { if (s.length() <= 1) {
I just can't seem to figure it out how to solve this inherently recursive assignment.The task is to check a directory path and read the files within that path; also, if there are more directories within it, we have to go deeper into those directories to read the files within them - if any. What you're looking at is my skeleton of the assignment:
public class SearchingForStrings {
public static void main(String[] args) { String path = "."; // Default File sf = new File(path); String mainDirectory = args[0]; // These two are just String keyString = args[1]; // command-line arguments
Trying to find cheapest path recursively, given a grid a integers trying to recursively find the cheapest path from the top to the bottom. cheapest being the sum of the path. I think I've made my code over complicated. recursive things are usually much more elegant
import java.io.FileInputStream; import java.util.Scanner; import java.io.FileInputStream; import java.io.FileNotFoundException; public class trial { public void readFile(String fileName)
I have to recursively find a given string in a file. I HAVE to use the LineNumberReader class, and the output would be like so:
Line#Found : the string of the whole line
This is the code I've written:
public String findGivenString(String givenString, int currentLineNumber) { LineNumberReader lnr = null; try { lnr = new LineNumberReader(new FileReader(getFile()), 4096); lnr.setLineNumber(currentLineNumber); String s = lnr.readLine().toLowerCase();
[Code] ....
I messed around with a bit, and it doesn't change to the new set line. Though the line number is incrementing! So it just keeps checking the first line of the file over and over again, which is why it can't find the given string. Which also throws the StackOverFlow exception I'm getting.
Here's the output if I remove the comment from the System.out...:
String @ that Line# 1: package banking; String @ that Line# 2: package banking; String @ that Line# 3: package banking; String @ that Line# 4: package banking; ....
So you see it keeps checking the same line even though the line number IS incrementing.
I have a case: i have to make fast searching of a file in to all file systems(Linux or Windows). I use search directories recursively for file. Is there a quick way?
It was quite recently that Data Structures was introduced to me, so I started out writing some iterative programs recursively.I found some strange output which shouldn't have come out but if you take a look at these three codes
long factorial(long n) { if(n == 1) { return 1; } else { result = n*factorial(n-1);
[Code] ....
These are three versions of the code, achieving the same objective of obtaining a given number and returning the factorial, but in spite of the changes made to the code, they produce the same result. I needed a reason as to why it is so? I tried to dry run all the codes but at some point or the other I got confused, and had to start all over again and couldn't come up with a proper result.
We have triangle made of blocks. The topmost row has 1 block, the next row down has 2 blocks, the next row has 3 blocks, and so on. Compute recursively (no loops or multiplication) the total number of blocks in such a triangle with the given number of rows.
if(Directory.getText().matches("")){ JOptionPane.showMessageDialog(null, "Please search for the directory"); } else if(fileName.getText().matches("")){
[Code].....
This is actually my question:
Java Code:
1. billing-20140527[09].txt has
a)XGMS,2014-05-27 10:08:04,122,PLAYER_VERIFY,VERIFY to LBA,0x580000,0xC0000,253040. b)XGMS,2034-05-27 30:08:04,122,PLAYER_VERIFY,VERIFY to LBA,0x580000,0xC0000,253040.
2. billing-20140527[10].txt has
a)XCGS,2014-05-27 10:08:04,122,PLAYER_VERIFY,VERIFY to LBA,0x580000,0xC0000,253040. b)HELO
[B]I try to find the number 1 in both text files, if lets say I input the text file name is billing, I can find the number 1 in both text file and output them:[/B]
a) XGMS,2014-05-27 10:08:04,122,PLAYER_VERIFY,VERIFY to LBA,0x580000,0xC0000,253040. b) XCGS,2014-05-27 10:08:04,122,PLAYER_VERIFY,VERIFY to LBA,0x580000,0xC0000,253040.
[B]However, if I specify the text file name: billing-20140527[09].txt and find the number 1 inside the text file, it will only output:[/B]
a) XGMS,2014-05-27 10:08:04,122,PLAYER_VERIFY,VERIFY to LBA,0x580000,0xC0000,253040. mh_sh_highlight_all('java');
So I need to generate 10 random integers in the range 1-20 but i have to store them in an array called numbers. Then I have to call a method called displayArray which displays the contents of the array and for the assignment i have to use a for loop to traverse the array. The method header for the displayArray method is:
public static void displayArray(int[] array)
This is what I have done
public class RandomIntegers { static int numbers = 0; public static void displayArray(int[] array) { System.out.println(numbers + "Numbers Generated");
I am taking the Class Algorithms and Datastructures and got an assignment for Lab that really throws me off. The goal is to create an Array out of a given CSV file, implement several Methods that get the size of array, etc.
I am still stuck in the first part where the CSV has to be imported into the Array. My problem is that I need a mechanism that figures out the needed size for the Array, creates the array, and only then transfers the data from the CSV.
The list consists of the following wifi related values:
MAC-Adress, SSID, Timestamp, Signalstrength.
These are on the list, separated by comma. The Columns are each of these, and the rows are the four types of values making up the information on a certain wifi network.
The catch is, we are not allowed to use any of the following:
java.util.ArrayList java.util.Arrays and any class out of java.util.Collection.
So far I used the BufferedReader to read in the file and tried to implement the array, but I get an arrayindexoutofboundsexception.
Below is my Code (Its still an active construction zone):
public class WhatsThere { public WhatsThere(String wifiscan) throws IOException { } public static void main(String[] args) throws IOException { // WhatsThere Liste = new WhatsThere(String wifiscan); String[][] arrayListe = new String[0][0];
I am working on a problem where i have to create a 2d array with given input of the dimensions (odd number) of array, along with a number within the array and to then print out all of the numbers surrounding that number.
Anyway, i am working on simply making the spiral, which should look like the one below.
n = 3
7 8 9 6 1 2 5 4 3
where the 1 always starts in the center with the 2 going to the right, 3 down, then left etc. etc. I was able to create the code by starting on the outer edges rather than the center and working my way to the middle, however my code always starts from the top left and goes around to the center where it needs to start from the top right. I am having trouble altering my code to meet this criteria. This is what i have thus far.
import java.io.*; public class Spiral { public static void main(String args[])throws IOException { BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); System.out.print("Enter the number of elements : "); int n=Integer.parseInt(br.readLine());
We were given a class lab that asks us to write a program that create a multidimensional array ( 5 x 5 ), populates the array using nested loops with letter from A until Y, and displays the array to the screen. and the result should look like this:
A B C D E F G H I J K L M N O P Q R S T U V W X Y
How to write this program.. I have tried all my best but the results are not coming like this..