Adding ouput into appended array
Hi,
I have a labview which gives a single element as an output after each test run. Is it possible to add this single dynamic output to previous data resulting into an Array(1-D).
Thank you for your Help!!
Thanks Mike & Muks for your reply.
In my case is that when I run the program once it returns a single ouput. The second time I run the program it provides with an different value of output as opbvious. But at the end of say ten test runs. I wan to to see all the ten outputs in an array. Is it possible?
I am trying to write an read the output after each test run. Is it sensible? or Is there any other way?
I am attaching my program for your reference. and a snap shot of the final output (TOF) which i want to retrive data for all ten runs.
Thank You
Attachments:
PAR_LAB_ATT_00_09_E.vi 1123 KB
sanp_1.PNG 31 KB
Similar Messages
-
Adding pictures into an Array?
The following is a BlackJack Program my group and I made. So far, it seems to work and would likely net us a 100% when we hand it in. However, we wish to go that extra mile and add pictures, cards in particular, something that should obviously be in any card game! I've been fiddling around with ImageIcon and Image but I don't have a clue how to implement these or how to get them working correctly. Also, it would be best if the pictures could be loaded into an array, which would allow the program to function basically the same way with little editing.
//Import various Java utilites critical to program function
import java.awt.* ;
import java.awt.event.*;
import javax.swing.*;
import java.util.Random;
import java.lang.String;
public class BlackJackExtreme extends JFrame {
Random r = new Random(); //Assigning "r" to randomize
int valueA; //Numerical Value of player Cards
int valueB;
int valueC;
int valueD;
int valueE;
int valueAC; //Numerical Value of computer Cards
int valueBC;
int valueCC;
int valueDC;
int valueEC;
int playerVal; //Numerical total value of player cards
int playerVal2;
int playerValT;
int compVal; //Numerical total value of computer cards
int compVal2;
int compValT;
int counter; //A counter
String playVal; //String value for Numerical total value of player cards
String cVal; //String value for Numerical total value of computer cards
private JLabel YourCard; //Initializing a title label
private JLabel CCard; //Initializing a title label
private JLabel Total; //Initializing a title label
private JLabel CTotal; //Initializing a title label
private JLabel Win; //Initializing a Win label
private JLabel Lose; //Initializing a Lose label
private JLabel Bust; //Initializing a Bust label
private JButton Deal; //Initializing a button
private JButton Hit; //Initializing a button
private JButton Stand; //Initializing a button
private JButton Exit; //Initializing a button
private JTextArea TCompVal; //Initializing textbox for computer values
private JTextArea TotalVal;
private JLabel CardOne; //Initializing a label for player card 1
private JLabel CardTwo; //Initializing a label for player card 2
private JLabel CardThree; //Initializing a label for player card 3
private JLabel CardFour; //Initializing a label for player card 4
private JLabel CardFive; //Initializing a label for player card 5
private JLabel CCardOne; //Initializing a label for computer card 1
private JLabel CCardTwo; //Initializing a label for computer card 1
private JLabel CCardThree; //Initializing a label for computer card 1
private JLabel CCardFour; //Initializing a label for computer card 1
private JLabel CCardFive; //Initializing a label for computer card 1
private JPanel contentPane;
public BlackJackExtreme() {
super();
initializeComponent();
this.setVisible(true);
private void initializeComponent() {
YourCard = new JLabel("These are your cards");
CCard = new JLabel("These are the computers cards");
Total = new JLabel("Your total is: ");
CTotal = new JLabel("Computer total is: ");
TCompVal = new JTextArea(); //Box for computer values
TotalVal = new JTextArea(); //Box for player values
Win = new JLabel("You win!"); //Label for a Win
Lose = new JLabel("You lose!"); //Label for a Loss
Bust = new JLabel("You both Bust!"); //Label for a Bust
Deal = new JButton(); //Button
Hit = new JButton(); //Button
Stand = new JButton(); //Button
Exit = new JButton(); //Button
CardOne = new JLabel(""); //Label for Player Card 1
CardTwo = new JLabel(""); //Label for Player Card 2
CardThree = new JLabel(""); //Label for Player Card 3
CardFour = new JLabel(""); //Label for Player Card 4
CardFive = new JLabel(""); //Label for Player Card 5
CCardOne = new JLabel(""); //Label for Computer Card 1
CCardTwo = new JLabel(""); //Label for Computer Card 2
CCardThree = new JLabel(""); //Label for Computer Card 3
CCardFour = new JLabel(""); //Label for Computer Card 4
CCardFive = new JLabel(""); //Label for Computer Card 5
contentPane = (JPanel)this.getContentPane();
//Assigns function and ability to the various buttons
Deal.setText("Deal");
Deal.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Deal_actionPerformed(e);
Stand.setText("Stand");
Stand.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Stand_actionPerformed(e);
Exit.setText("Exit");
Exit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Exit_actionPerformed(e);
Hit.setText("Hit");
Hit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Hit_actionPerformed(e);
//Determines the arrangement of the various buttons, labels, and other GUI objects
contentPane.setLayout(null);
addComponent(contentPane, YourCard, 15,1,150,50);
addComponent(contentPane, CCard, 325,1,200,50);
addComponent(contentPane, Deal, 15,415,100,35);
addComponent(contentPane, Hit, 125,415,100,35);
addComponent(contentPane, Stand, 235 ,415,100,35);
addComponent(contentPane, Exit, 435 ,415,100,35);
addComponent(contentPane, CardOne, 25,35,50,50);
addComponent(contentPane, CardTwo, 110,35,50,50);
addComponent(contentPane, CardThree, 25,120,50,50);
addComponent(contentPane, CardFour, 110,120,50,50);
addComponent(contentPane, CardFive, 65,200,50,50);
addComponent(contentPane, CCardOne, 350,35,50,50);
addComponent(contentPane, CCardTwo, 450,35,50,50);
addComponent(contentPane, CCardThree, 350,120,50,50);
addComponent(contentPane, CCardFour, 450,120,50,50);
addComponent(contentPane, CCardFive, 400,200,50,50);
addComponent(contentPane, Win, 300,300,70,50);
addComponent(contentPane, Lose, 300,300,70,50);
addComponent(contentPane, Bust, 300,300,100,50);
addComponent(contentPane, Total, 100,350,150,50);
addComponent(contentPane, TotalVal, 200,365,25,25);
addComponent(contentPane, CTotal, 300,365,150,25);
addComponent(contentPane, TCompVal, 425,365,25,25);
//Sets the "outcome" labels invisible on program execution
Win.setVisible(false);
Lose.setVisible(false);
Bust.setVisible(false);
//Determines size of program window
this.setTitle("BlackJack");
this.setLocation(new Point(220,185));
this.setSize(new Dimension(555,500));
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
private void addComponent(Container container, Component c, int x, int y, int width, int height){
c.setBounds(x,y,width,height);
container.add(c);
//The DEAL button
public void Deal_actionPerformed(ActionEvent e) {
//Correctly resets the display after first round of use
Hit.setVisible(true);
Stand.setVisible(true);
Win.setVisible(false);
Lose.setVisible(false);
Bust.setVisible(false);
CardThree.setVisible(false);
CardFour.setVisible(false);
CardFive.setVisible(false);
TotalVal.setText("");
TCompVal.setText("");
//Card Array - Values assigned to cards
String[] cardnames = new String[15];
cardnames[0] = "Error";
cardnames[1] = "Error";
cardnames[2] = "Two";
cardnames[3] = "Three";
cardnames[4] = "Four";
cardnames[5] = "Five";
cardnames[6] = "Six";
cardnames[7] = "Seven";
cardnames[8] = "Eight";
cardnames[9] = "Nine";
cardnames[10] = "Ten";
cardnames[11] = "Jack";
cardnames[12] = "Queen";
cardnames[13] = "King";
cardnames[14] = "Ace";
//Randomize Card Values
valueA = r.nextInt(13)+2;
valueB = r.nextInt(13)+2;
valueAC = r.nextInt(13)+2;
valueBC = r.nextInt(13)+2;
//Displays Card
CardOne.setText(cardnames[valueA]);
CardTwo.setText(cardnames[valueB]);
CCardOne.setText(cardnames[valueAC]);
CCardTwo.setText(cardnames[valueBC]);
//Value Correction for Player Cards
if (valueA == 11 || valueA == 12 || valueA == 13) {
valueA = 10; }
if (valueA ==14){
valueA = 11; }
if (valueB == 11 || valueB == 12 || valueB == 13) {
valueB = 10; }
if (valueB ==14){
valueB = 11; }
//Value Correction for Computer Cards
if (valueAC == 11 || valueAC == 12 || valueAC == 13) {
valueAC = 10; }
if (valueAC ==14){
valueAC = 11; }
if (valueBC == 11 || valueBC == 12 || valueBC == 13) {
valueBC = 10; }
if (valueBC ==14){
valueBC = 11; }
//Computer Hand Value Calculations
compVal = valueAC + valueBC;
//Assigns addition cards to computer
if (compVal <= 15) {
valueCC = r.nextInt(13)+2;
CCardThree.setText(cardnames[valueCC]);
if (valueCC == 11 || valueCC == 12 || valueCC == 13) {
valueCC = 10; }
if (valueCC ==14){
valueCC = 11; }
compVal += valueCC; }
//Changes the Integer value of player and computer hands into a String value
cVal = Integer.toString(compVal);
playerVal = valueA + valueB;
playVal = Integer.toString(playerVal);
TotalVal.setText(playVal);
Deal.setVisible(false);
CCardOne.setVisible(false);
//The HIT button
public void Hit_actionPerformed(ActionEvent e) {
//A counter that changes the specific function of the HIT button when it is pressed at different times
counter++;
if (counter ==3){
Hit.setVisible(false);
//Card Array - Values assigned to cards
String[] cardnames = new String[15];
cardnames[0] = "Error";
cardnames[1] = "Error";
cardnames[2] = "Two";
cardnames[3] = "Three";
cardnames[4] = "Four";
cardnames[5] = "Five";
cardnames[6] = "Six";
cardnames[7] = "Seven";
cardnames[8] = "Eight";
cardnames[9] = "Nine";
cardnames[10] = "Ten";
cardnames[11] = "Jack";
cardnames[12] = "Queen";
cardnames[13] = "King";
cardnames[14] = "Ace";
//Randomize Card Values
valueC = r.nextInt(13)+2;
valueD= r.nextInt(13)+2;
valueE = r.nextInt(13)+2;
//Determines which card is being hit, as well as randomizing a value to that location
if (counter == 1) {
CardThree.setText(cardnames[valueC]);
playerVal2 = 0 + (valueC);
CardThree.setVisible(true); }
if (counter == 2) {
CardFour.setText(cardnames[valueD]);
playerVal2 += (valueD) ;
CardFour.setVisible(true); }
if (counter == 3) {
CardFive.setText(cardnames[valueE]);
playerVal2 += (valueE);
CardFive.setVisible(true); }
//Value corrections for player cards
if (valueC == 11 || valueC == 12 || valueC == 13) {
valueC = 10; }
if (valueC ==14){
valueC = 11; }
if (valueD == 11 || valueD == 12 || valueD == 13) {
valueD = 10; }
if (valueD ==14){
valueD = 11; }
if (valueE == 11 || valueE == 12 || valueE == 13) {
valueE = 10; }
if (valueE ==14){
valueE = 11;
//Changes the Integer value of player and computer hands into a String value
playerValT = playerVal + playerVal2;
playVal = Integer.toString(playerValT);
TotalVal.setText(playVal);
//The STAND button
private void Stand_actionPerformed(ActionEvent e) {
//Correctly assigns player value if HIT button is never pressed
if (counter == 0){
playerValT = playerVal; }
//Reveals the unknown computer card
CCardOne.setVisible(true);
//Determines the winner and loser
if (playerValT <= 21 && compVal < playerValT) {
Win.setVisible(true); }
else if (playerValT <= 21 && compVal > 21) {
Win.setVisible(true); }
else if (playerValT >21 && compVal > 21) {
Bust.setVisible(true); }
else if (compVal <= 21 && playerValT < compVal){
Lose.setVisible(true);}
else if (compVal <= 21 && playerValT > 21) {
Lose.setVisible(true); }
else if (compVal == playerValT){
Lose.setVisible(true); }
//Configures program and display for next use
Deal.setVisible(true);
Stand.setVisible(false);
Hit.setVisible(false);
counter = 0;
TCompVal.setText(cVal);
//The EXIT button
private void Exit_actionPerformed(ActionEvent e) {
System.exit ( 0 );
public static void main(String[]args) {
JFrame.setDefaultLookAndFeelDecorated(true);
JDialog.setDefaultLookAndFeelDecorated(true);
new BlackJackExtreme();
Instead of having a JLabel with "Ace", "Eight", etc appear, how would one make pictures appear? How does one do this with an array?
Edited by: Funkdmonkey on Jan 1, 2008 7:45 PMI guess an array or perhaps better a hashmap where the image is the value and the card (a great place for an enum!) is the key would work nicely. Oh, and you can find a great public domain set of card images here:
http://www.eludication.org/playingcards.html
Finally, your code appears to be suffering from the God-class anti-pattern. You would do well to refactor that beast.
Edited by: Encephalopathic on Jan 1, 2008 8:09 PM -
Reading from file into an array
Hello, new to Java and we need to modify a mortgage calculator to read interest rate from a file into an array and not have them hard coded in the program. I have read many post on how to perform this but am lost on where to put the new code and format. Here is my code and I hope I posted this right.
import javax.swing.*; // Imports the Main Swing Package
import javax.swing.event.*;
import javax.swing.text.*; // Used for Text Box Caret Position
import java.awt.*; // Imports the main AWT Package
import java.awt.event.*; // Event handling class are defined here
import java.text.NumberFormat;
import java.text.*; // Imports the Main Text Package
import java.util.*; // Imports the Main Utility Package
public class mortgageCalculator1 extends JFrame implements ActionListener // Creates class mortgageCalculator
JLabel AmountLabel = new JLabel(" Enter Mortgage Amount:$ "); // Declares Mortgage Amount Label
JTextField mortgageAmount = new JTextField(10); // Declares Mortgage Amount Text Field
JButton IntandTerm1B = new JButton("7 years at 5.35%"); // Declares 1st Mortgage Term and Interest Rate
JButton IntandTerm2B = new JButton("15 years at 5.50%"); // Declares 2nd Mortgage Term and Interest Rate
JButton IntandTerm3B = new JButton("30 years at 5.75%"); // Declares 3rd Mortgage Term and Interest Rate
JLabel PaymentLabel = new JLabel(" Monthly Payment: "); // Declares Monthly Payment Label
JTextField monthlyPayment = new JTextField(10); // Declares Monthly Payment Text Field
JButton exitButton = new JButton("Exit"); // Declares Exit Button
JButton newcalcButton = new JButton("New Calculation"); // Declares New Calculation Button
JTextArea mortgageTable = new JTextArea(35,65); // Declares Mortgage Table Area
JScrollPane scroll = new JScrollPane(mortgageTable); // Declares ScrollPane and puts the Mortgage Table inside
public mortgageCalculator1() // Creates Method
super("MORTGAGE CALCULATOR"); // Title of Frame
JMenuBar mb = new JMenuBar(); // Cretes Menu Bar
JMenu fileMenu = new JMenu("File"); // Creates File Menu
fileMenu.setMnemonic('F'); // Enables alt + f to Access File Menu
JMenuItem exitItem = new JMenuItem("Exit"); // Creates Exit in File Menu
fileMenu.add(exitItem); // Adds Exit to File Menu
exitItem.addActionListener(new ActionListener() // Adds Action Listener to the Exit Item
public void actionPerformed(ActionEvent e) // Tests to Verify if File->Exit is Pressed
System.exit(0); // Exits the Programs when File->Exit is Pressed
mb.add(fileMenu); // Adds the File Menu
setJMenuBar(mb);
setSize(600, 400); // Sets Size of Frame
setLocation(200,200); // Sets the Location of the Window
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Command on how to close frame
JPanel pane = new JPanel(); // Declares the JPanel
pane.setLayout(new BoxLayout(pane, BoxLayout.Y_AXIS)); // Sets Panel Layout to BoxLayout
Container grid = getContentPane(); // Declares a Container called grid
grid.setLayout(new GridLayout(4,3,5,5)); // Sets grid Layout to GridLayout
pane.add(grid); // Adds the grid to the Panel
pane.add(scroll); // Addes the scrollPane to the Panel
grid.setBackground(Color.yellow); // Set grid color to Yellow
setCursor(new Cursor(Cursor.HAND_CURSOR)); // Makes the cursor look like a hand
mortgageAmount.setBackground(Color.black); // Sets mortgageAmount JPanel JTextField Background Color
mortgageAmount.setForeground(Color.white); // Sets mortgageAmount JPanel JTextField Foreground Color
mortgageAmount.setCaretColor(Color.white); // Sets mortgageAmount JPanel JTextField Caret Color
mortgageAmount.setFont(new Font("Lucida Sans Typewriter", Font.PLAIN, 18)); // Sets mortgageAmount JPanel JTextField Font
monthlyPayment.setBackground(Color.black); // Sets monthlyPayment JPanel JTextField Background Color
monthlyPayment.setForeground(Color.white); // Sets monthlyPayment JPanel JTextField Foreground Color
monthlyPayment.setFont(new Font("Lucida Sans Typewriter", Font.PLAIN, 18)); // Sets monthlyPayment JPanel JTextField Font
mortgageTable.setBackground(Color.yellow); // Sets mortgageTable JTextArea Background Color
mortgageTable.setForeground(Color.black); // Sets mortgageTable JTextArea Foreground Color
mortgageTable.setFont(new Font("Arial", Font.PLAIN, 18)); // Sets JTextArea Font
grid.add(AmountLabel); // Adds the Mortgage Amount Label
grid.add(mortgageAmount); // Adds the Mortgage Amount Text Field
grid.add(IntandTerm1B); // Adds 1st Loan and Rate Button
grid.add(PaymentLabel); // Adds the Payment Label
grid.add(monthlyPayment); // Adds the Monthly Payment Text Field
monthlyPayment.setEditable(false); // Disables editing in this Text Field
grid.add(IntandTerm2B); // Adds 2nd Loan and Rate Button
grid.add(exitButton);
grid.add(newcalcButton); // Adds the New Calc Button
grid.add(IntandTerm3B); // Adds the Exit Button
setContentPane(pane); // Enables the Content Pane
setVisible(true); // Sets JPanel to be Visable
exitButton.addActionListener(this); // Adds Action Listener to the Exit Button
newcalcButton.addActionListener(this); // Adds Action Listener to the New Calc Button
IntandTerm1B.addActionListener(this); // Adds Action Listener to the 1st loan Button
IntandTerm2B.addActionListener(this); // Adds Action Listener to the 2nd loan Button
IntandTerm3B.addActionListener(this); // Adds Action Listener to the 3rd loan Button
mortgageAmount.addActionListener(this); // Adds Action Listener to the Mortgage Amount Text Field
monthlyPayment.addActionListener(this); // Adds Action Listener to the Monthly payment Text Field
public void actionPerformed(ActionEvent e) // Tests to Verify Which Button is Pressed
Object command = e.getSource(); // Enables command to get data
if (command == exitButton) //sets exitButton // Activates the Exit Button
System.exit(0); // Exits from exit button // Exits from exit button
int loanTerm = 0; // Declares loanTerm
if (command == IntandTerm1B) // Activates the 1st Loan Button
loanTerm = 0; // Sets 1st value of Array
if (command == IntandTerm2B) // Activates the 2nd Loan Button
loanTerm = 1; // Sets 2nd value of Array
if (command == IntandTerm3B) // Activates the 3rd Loan Button
loanTerm = 2; // Sets 3rd value of Array
double mortgage = 0; // Declares and Initializes mortgage
double rate = 0; // Declares and Initializes rate
double [][] loans = {{7, 5.35}, {15, 5.50}, {30, 5.75},}; // Array Data for Calculation
try
mortgage = Double.parseDouble(mortgageAmount.getText()); // Gets user input from mortgageAmount Text Field
catch (NumberFormatException nfe) // Checks for correct number fformatting of user input
JOptionPane.showMessageDialog (this, "Error! Invalid input!"); // Outputs error if number is wrong format or nothing is entered
return;
double interestRate = loans [loanTerm][1]; // Sets interestRate amount
double intRate = (interestRate / 100) / 12; // Calculates Interst Rate
double loanTermMonths = loans [loanTerm] [0]; // Calculates Loan Term in Months
int months = (int)loanTermMonths * 12; // Converts Loan Term to Months
double interestRateMonthly = (intRate / 12); // monthly interst rate
double payment = mortgage * intRate / (1 - (Math.pow(1/(1 + intRate), months))); // Calculation for Monthly payment
double remainingLoanBalance = mortgage; // Sets Reamaining Balance
double monthlyPaymentInterest = 0; // holds current interest payment
double monthlyPaymentPrincipal = 0; // holds current principal payment
NumberFormat myCurrencyFormatter = NumberFormat.getCurrencyInstance(Locale.US); // Number formatter to format output in table
monthlyPayment.setText(myCurrencyFormatter.format(payment));
mortgageTable.setText("Month\tPrincipal\tInterest\tEnding Balance\n" + // Formats morgageTable Header
"---------\t----------\t------------\t---------------------\n");
for (;months > 0 ; months -- )
monthlyPaymentInterest = (remainingLoanBalance * intRate); // Calculation for Monthly Payment Toward Interest
//Calculate H = R x I
monthlyPaymentPrincipal = (payment - monthlyPaymentInterest); // Calculation for Monthly Payment Toward Principal
//Calculate C = P - H
remainingLoanBalance = (remainingLoanBalance - monthlyPaymentPrincipal); // Calculation for Reamining loan Balance
// Calculate R = R - C
// H = monthlyPaymentInterest
// R = remainingLoanBalance
// P = payment
// C = monthlyPaymentPrincipal
// I = interestRateMonthly
mortgageTable.setCaret (new DefaultCaret()); // Sets Scroll position to the top left corner
mortgageTable.append(String.valueOf(months) + "\t" + // Pulls in data and formats MortgageTable
myCurrencyFormatter.format(monthlyPaymentPrincipal) + "\t" +
myCurrencyFormatter.format(monthlyPaymentInterest) + "\t" +
myCurrencyFormatter.format(remainingLoanBalance) + "\n");
if(command == newcalcButton) // Activates the new calculation Button
mortgageAmount.setText(null); //clears mortgage amount fields
monthlyPayment.setText(null); //clears monthly payment fields
mortgageTable.setText(null); //clears mortgage table
public static void main(String[] args) //This is the signature of the entry point of all the desktop apps
new mortgageCalculator1();
}OK, making a little progress but am still very confused.
What I have is a file (int&term.dat) with three lines;
5.75, 30
5.5, 15
5.35 ,7
I have three JButtom that I what to read a seperate line and place the term in a term TextField and a rate in a Rate TextField
I have added the following code and all it does now is output a black space to the screen; I am working with one Button and Just the rate for now to try and get it to work. I have been looking at the forums, reading the internet and several books to try and figure this out. I think I may be getting closer.
public static void read()
String line;
StringTokenizer tokenizer;
String rate;
String term;
try
FileReader fr = new FileReader ("int&term.dat");
BufferedReader inFile = new BufferedReader (fr);
line = inFile.readLine();
while (line != null)
tokenizer = new StringTokenizer(line);
rate = tokenizer.nextToken();
line = inFile.readLine();
inFile.close();
System.out.println(new String());
catch (FileNotFoundException exception)
System.out.println ("The file was not found.");
catch (IOException exception)
System.out.println (exception);
} -
How to put data into a array element in the BPEL
Hi,
I have a element in the WSDL which is of type Array. (i.e accepts unlimited data for the same element). How should i put a data into a array in the BPEL.
Example:
The below Example gives u an idea about wht iam asking:pasting a piece of my requirement:
<s:element minOccurs="0" maxOccurs="1" name="parameters" type="tns:ArrayOfCSParameters" />
<s:complexType name="ArrayOfCSParameters">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded"
name="CSParameters" nillable="true" type="tns:CSParameters" />
</s:sequence>
</s:complexType>
<s:complexType name="CSParameters">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="RevenueItem" type="tns:RevenueItem" />
<s:element minOccurs="0" maxOccurs="1" name="AccountURIs" type="tns:ArrayOfString" />
<s:element minOccurs="0" maxOccurs="1" name="GroupURIs" type="tns:ArrayOfString" />
<s:element minOccurs="1" maxOccurs="1" name="Percentage" nillable="true" type="s:decimal" />
</s:sequence>
<s:attribute name="Version" type="s:decimal" use="required" />
<s:attribute name="URI" type="s:string" />
</s:complexType>
Any suggestion is appreciated.
Regards
pavanYou have 2 options i guess.
Use the transformation and the for-each to construct the array-list
or like Richard said, use a loop in bpel, assign in the loop an variable of element type="CSParameters" and append this variable to your variable with accepts the arraylist. -
(Urgent help needed) how to read txt file and store the data into 2D-array?
Hi, I have a GUI which allow to choose file from the file chooser, and when "Read file" button is pressed, I want to show the array data into the textarea.
The sample data is like this followed:
-0.0007 -0.0061 0.0006
-0.0002 0.0203 0.0066
0 0.2317 0.008
0.0017 0.5957 0.0008
0.0024 1.071 0.0029
0.0439 1.4873 -0.0003
I want my program to scan through and store these data into 2D array.
However for some reason, my source code issues errors, and I don't know what's wrong with it, seems to have a problem in StringTokenizer though. Can anybody help me?
Thanks in advance.
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.StringTokenizer;
public class FileReduction1 extends JFrame implements ActionListener{
// GUI features
private BufferedReader fileInput;
private JTextArea textArea;
private JButton openButton, readButton,processButton,saveButton;
private JTextField textfield;
private JPanel pnlfile;
private JPanel buttonpnl;
private JPanel buttonbar;
// Other fields
private File fileName;
private String[][] data;
private int numLines;
public FileReduction1(String s) {
super(s);
// Content pane
Container cp = getContentPane();
cp.setLayout(new BorderLayout());
// Open button Panel
pnlfile=new JPanel(new BorderLayout());
textfield=new JTextField();
openButton = new JButton("Open File");
openButton.addActionListener(this);
pnlfile.add(openButton,BorderLayout.WEST);
pnlfile.add(textfield,BorderLayout.CENTER);
readButton = new JButton("Read File");
readButton.addActionListener(this);
readButton.setEnabled(false);
pnlfile.add(readButton,BorderLayout.EAST);
cp.add(pnlfile, BorderLayout.NORTH);
// Text area
textArea = new JTextArea(10, 100);
cp.add(new JScrollPane(textArea),BorderLayout.CENTER);
processButton = new JButton("Process");
//processButton.addActionListener(this);
saveButton=new JButton("Save into");
//saveButton.addActionListener(this);
buttonbar=new JPanel(new FlowLayout(FlowLayout.RIGHT));
buttonpnl=new JPanel(new GridLayout(1,0));
buttonpnl.add(processButton);
buttonpnl.add(saveButton);
buttonbar.add(buttonpnl);
cp.add(buttonbar,BorderLayout.SOUTH);
/* ACTION PERFORMED */
public void actionPerformed(ActionEvent event) {
if (event.getActionCommand().equals("Open File")) getFileName();
if (event.getActionCommand().equals("Read File")) readFile();
/* OPEN THE FILE */
private void getFileName() {
// Display file dialog so user can select file to open
JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
int result = fileChooser.showOpenDialog(this);
// If cancel button selected return
if (result == JFileChooser.CANCEL_OPTION) return;
if (result == JFileChooser.APPROVE_OPTION)
fileName = fileChooser.getSelectedFile();
textfield.setText(fileName.getName());
if (checkFileName()) {
openButton.setEnabled(false);
readButton.setEnabled(true);
// Obtain selected file
/* READ FILE */
private void readFile() {
// Disable read button
readButton.setEnabled(false);
// Dimension data structure
getNumberOfLines();
data = new String[numLines][];
// Read file
readTheFile();
// Output to text area
textArea.setText(data[0][0] + "\n");
for(int index=0;index < data.length;index++)
for(int j=1;j<data[index].length;j++)
textArea.append(data[index][j] + "\n");
// Rnable open button
openButton.setEnabled(true);
/* GET NUMBER OF LINES */
/* Get number of lines in file and prepare data structure. */
private void getNumberOfLines() {
int counter = 0;
// Open the file
openFile();
// Loop through file incrementing counter
try {
String line = fileInput.readLine();
while (line != null) {
counter++;
System.out.println("(" + counter + ") " + line);
line = fileInput.readLine();
numLines = counter;
closeFile();
catch(IOException ioException) {
JOptionPane.showMessageDialog(this,"Error reading File",
"Error 5: ",JOptionPane.ERROR_MESSAGE);
closeFile();
System.exit(1);
/* READ FILE */
private void readTheFile() {
// Open the file
int row=0;
int col=0;
openFile();
System.out.println("Read the file");
// Loop through file incrementing counter
try {
String line = fileInput.readLine();
while (line != null)
StringTokenizer st=new StringTokenizer(line);
while(st.hasMoreTokens())
data[row][col]=st.nextToken();
System.out.println(data[row][col]);
col++;
row++;
closeFile();
catch(IOException ioException) {
JOptionPane.showMessageDialog(this,"Error reading File",
"Error 5: ",JOptionPane.ERROR_MESSAGE);
closeFile();
System.exit(1);
/* CHECK FILE NAME */
/* Return flase if selected file is a directory, access is denied or is
not a file name. */
private boolean checkFileName() {
if (fileName.exists()) {
if (fileName.canRead()) {
if (fileName.isFile()) return(true);
else JOptionPane.showMessageDialog(null,
"ERROR 3: File is a directory");
else JOptionPane.showMessageDialog(null,
"ERROR 2: Access denied");
else JOptionPane.showMessageDialog(null,
"ERROR 1: No such file!");
// Return
return(false);
/* FILE HANDLING UTILITIES */
/* OPEN FILE */
private void openFile() {
try {
// Open file
FileReader file = new FileReader(fileName);
fileInput = new BufferedReader(file);
catch(IOException ioException) {
JOptionPane.showMessageDialog(this,"Error Opening File",
"Error 4: ",JOptionPane.ERROR_MESSAGE);
System.out.println("File opened");
/* CLOSE FILE */
private void closeFile() {
if (fileInput != null) {
try {
fileInput.close();
catch (IOException ioException) {
JOptionPane.showMessageDialog(this,"Error Opening File",
"Error 4: ",JOptionPane.ERROR_MESSAGE);
System.out.println("File closed");
/* MAIN METHOD */
/* MAIN METHOD */
public static void main(String[] args) throws IOException {
// Create instance of class FileChooser
FileReduction1 newFile = new FileReduction1("File Reduction Program");
// Make window vissible
newFile.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
newFile.setSize(500,400);
newFile.setVisible(true);
Java.lang.NullpointException
at FileReductoin1.readTheFile <FileReduction1.java :172>
at FileReductoin1.readFile <FileReduction1.java :110>
at FileReductoin1.actionPerformed <FileReduction1.java :71>
.1) Next time use the CODE tags. this is way too much unreadable crap.
2) The problem is your String[][] data.... the only place I see you do anything approching initializing it is
data = new String[numLines][];I think you want to do this..
data = new String[numLines][3];anyway that's why it's blowing up on the line
data[row][col]=st.nextToken(); -
[JS] [CS5] Copy and paste into existing array
Hi Guys,
right now I'm trying to improve the performance of a Script I wrote by copying and pasting a PDF instead of loading it 10 times.
And here's the problem:
When pasting the copied PDF it doesn't paste it into the array the original PDF is in but this is exactly what I need for the further script.
Can I somehow paste the PDF into the Array and a specific position [i]?
I'm adding the important parts of the script.
Greetings Michael
var myDocument = app.activeDocument;
var myPage = myDocument.pages.item(0);
var myPageHeight = myDocument.documentPreferences.pageHeight;
var myPageWidth = myDocument.documentPreferences.pageWidth;
myVertical=new Array();
var myVerticalCount=0;
var myStrokeHeight = myVertical[0].geometricBounds[2]-myVertical[0].geometricBounds[0];
var myStrokeWidth = myVertical[0].geometricBounds[3]-myVertical[0].geometricBounds[1];
for(i = 0; (myPageWidth-(i*myStrokeWidth))/(i+1) > (myStrokeWidth/3);i++){
myHorizontalCount++;
myVertical[0] = myPage.rectangles.add({geometricBounds:[myPageHeight/2,0,myPageHeight +3,3]});
myVertical[0].place (File(myFile_Vert));
myVertical[0].strokeWeight = 0;
myVertical[0].fit (FitOptions.FRAME_TO_CONTENT);
app.select (null);
//It should be pasted into the Array myVertical[i]
app.select (myVertical[0]);
app.copy ();
for(i=1;i<myVerticalCount;i++)
app.paste(); //into myVertical[i] somehowDoesn't anyone know how to do this?
If not, is it possible to:
1. select multiple grapics in a defined area at once?
or
2. paste a graphic and add this graphic to a selection without deselecting the items I've selected before?
thanks in advance
Michael -
How does this program group and cluster these button values into an array?
In the attached program, there are 6 buttons in a cluster and 1 individual button. These buttons control a bunch of different relays to control power to different components of a single device. Right now the program works in that I can control the 6 buttons, the LED turns on in the board and the power is being transmitted. What I do not understand is how it is doing this. I ran the program with the highlight execution on and at the start of the read from array component, if say I pressed button 6 and hit ok, it reads #6, where did these get defined and labled? and if i wanted to add another button/relay how do i do this? If someone could explain step by step how this is grouping the relays on the board into an array and then controling them I would really appreciate it. Thanks.
Solved!
Go to Solution.
Attachments:
Cluster to Array.vi 85 KBThe #6 your seeing is the number of elements in the array not a value for the array.
Now for some deeper explainations. From the code it appears that exactly 1 of 6 valves may be used and an additional valve may be in one of two possible states.
When the program is run the cluster of buttons is initiallized to all False. and we enter the outer while loop where a sequence structure starts. In the first frame of the sequence we initiallize a shift register to hold the current value of "Buttons." and this loop runs unthrottled (Add a wait for next ms multiple to this loop to prevent using 100% of the CPU!)
For each iteration the buttons are read and if a change has occured to any value buttons that were previously True are reset to False to prevent opening more than one valve.
When the user presses OK or stop- the current "Buttons" value is passed to the next frame. This frame convertsthe 7 boolean values to a integer where each valve is controlled by a seperate bit of the integer (Isolation is bit 6 and bits 0-5 each control a mixing valve)
Now I'd strongly recommend reworking the DAQmx calls- it is pointless to initiallize the task each time you want to use it- Create the task in the initialzation case and wait until the user exits to destroy the task. And well a sequence structures are frowned on- (there are better ways to do this)
As far as adding a relay- right now the relays are associated to the hardware by their index position in the cluster (element 1 = bit 0 etc....) to add a new valve you would need to decide what bit you would use to drive it and code in that bits' value to write a 0 in that bit. (hint the 40 constant is realy 0x40 right-click>visable items>show radix )
Let me know if you need further elaboration
Jeff -
hi,
seem to be having some trouble adding to a string array of names
im trying to take a name from a text field and add it to the array
help would be much appreciated
this is the string array
String[] AuthorString = {"John Grisham","Agatha Christie","Nick Coleman","Scott Sinclair"};which is loaded into
public void fillArrayList(){
for(int a=0; a<AuthorString.length; a++) {
AuthorList.add((String)AuthorString[a]);
}i then try and add to this using
public void AddMember(){
String temp = (String)AuthorField.getSelectedItem();
for(int a=0; a>AuthorList.size(); a++) {
String temp = (String)AuhtorList.get(a);
AuthorString .addItem(temp);
}can anyone see any problem with this, or am i doing it the completely wrong wayAlso, your "for" loop's test condition is backwards. It should use "less than":
a < AuthorList.size() -
Loading into String array?
I made a method that loads 2 strings from a text file, and adds them into an array, but it won't work, heres the code.
public static void loadFile() {
for(int i = 0; i < 2; i++) {
try {
final Properties testCheck = new Properties();
final FileInputStream fis = new FileInputStream("myfile.txt");
testCheck.load(fis);
fis.close();
toTest[i] = testCheck.getProperty("test","Nothing Found");
} catch (IOException ioexception) {
System.err.println ("Error reading");
} Thats the method, I make it print out the array, and it shows up Nothing Found, which means it didn't find what the value in the text file? Any help is greatly appreaciated.Whatever your problem is, you haven't described it completely.
Please excuse any typos in the following; my development environment and my internet are on different machines tonight,and I cannot copy-and-paste this over.
package rc.test;
import java.io.*;
import java.util.*;
public class TestLP
static String[] toTest = new String[2];
public static void main (String[] arguments)
{ loadFile();
for (int i=0; i<toTest.length; i++)
{ System.out.println(toTest);
public static void loadFile()
for (int i=0; i<2; i++)
try
final Properties testCheck = new Properties();
final FileInputStream fis = new FileInputStream("myfile.txt");
testCheck.load(fis);
fis.close();
toTest[i] = testCheck.getProperty("test", "Nothing Found");
catch (IOException ioexception)
{ System.err.println("Error reading");
With the file "myfile.txt" in the directory in which the program is run, and containing the single line "test TESTING", this program prints:
TESTING
TESTING
All of your code is here, reformatted but otherwise intact; I've added what I surmised to be reasonable drivers to show us whether this code works as expected, and it does.
Possibilities:
The array you think you're loading the data into is in a different scope than the one loaded. You do not give us the declaration of that array, so we cannot tell.
The printout of the information is somehow flawed. You don't show us how you output it, so we cannot tell.
myfile.txt doesn't contain what you expect, or there is more than one copy. Perhaps "test" is capitalized, which would give the result you indicate. So would a file that doesn't actually contain "test" as a key.
Part of the point here is that complete information would cost very little compared to what you've already done, and would allow us to help you better. -
so im new to this and having problems.
we have to read a .txt file into an array so when a user types a word in a text box it will search the file and reutrn found if the word is there and not found it the word is not there. but it is not reading the text file here is the code so far
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
public class Checker
// Declares Values in the array
static String [] anArray = new String[1000];
// declares variables needed in code later
int i;
String s;
static int count = 0;
static String b;
static JTextArea j = new JTextArea();
public void readFile() throws IOException{
File inFile = new File("words.txt");
FileReader fileReader = new FileReader(inFile);
BufferedReader bufReader = new BufferedReader(fileReader);
while (true){
b = bufReader.readLine();
anArray[count] = b;
count++;
if(b==null) throw new EOFException("Hello, end of file reached");
j.append(b);
j.append("\n");
// public static void main(String args[]){
// File outFile = new File("words.txt");
//FileOutputStream outFileStream = new FileOutputStream(outFile);
// PrintWriter outStream = new PrintWriter(outFileStream);
// outStream.println("help");
// File inFile = new File("words.txt");
// FileReader fileReader = new FileReader(inFile);
// BufferedReader bufReader = new BufferedReader(fileReader);
/* while (true){
b = bufReader.readLine();
anArray[count] = b;
count++;
if(b==null) throw new EOFException("Hello, end of file reached");
j.append(b);
j.append("\n");
public String checkword(String Word ) {
// Tries the code, runs through until an exception is found.
try {
for ( i = 0; i < anArray.length; i++)
if (Word.equals(anArray))
// If exception is found, throws a new exception
if (Word.equals(anArray[i])) throw new Exception(); // end if
} // end if
} // end for
} // end try
catch (Exception ae ) {
// if the word is found return a message found and its position in array.
return "Found, at position "+i;
}// end catch
// if its not in the array return a not found message
return "Not found";
} // end
} // end
and the gui class :
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
public class CountDown extends JFrame implements ActionListener
// Defines the GUI components
private JTextField Word = new JTextField(9);
private JButton Guess = new JButton("Enter String");
private JLabel Message = new JLabel("not found");
// Creates a new instance of the Checker class.
Checker ch = new Checker();
public CountDown() // constructor
setTitle("Count Down");
setSize(300,200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
Container c = getContentPane();
c.setBackground(Color.white);
c.setLayout(new GridLayout(3,1));
// Add the components
c.add(Word);
c.add(Guess);
c.add(Message);
c.add(ch.j);
// Add action Listener for Button to work
Guess.addActionListener(this);
pack();
setContentPane(c);
public void actionPerformed(ActionEvent e) {
// When the button is pressed do this code
if(e.getSource() == Guess)
// Looks in the checker class to compare the word user enters, to the words in the array.
// Returns a message if the word exists with its position in the list or
// Returns a message if the word does not exisit.
Message.setText( ch.checkword(Word.getText()));
public class CountDownA
public void main(String[] args)
CountDown Game = new CountDown();
any help is appriciated asapYuck! I echo jverd's sentiment. Please only post the specific pieces of code that you are having trouble with, and use the forum 'code' tags.
But to answer your question, I don't see where you're calling the readFile() method from. If you're not calling readFile, that might explain why nothing is being read.
As for the design of the readFile method, another 'yuck'. heh Don't use exceptions to break out of a loop. If you MUST break out of a loop, use break. But a loop like this doesn't need break. Try something like this:while( (b = bufReader.readLine()) != null)
anArray[count++] = b;
j.append(b+"\n");
}Also, in stead of creating an array of some arbitrary fixed length, I recommend using a collection class such as ArrayList.
In stead of this:static String [] anArray = new String[1000];
anArray[count++] = b;it would be better to use something like this:static ArrayList<String> arrayList = new ArrayList<String>();
arrayList.add(b); -
How do I read directly from file into byte array
I am reading an image from a file into a BuffertedImage then writing it out again into an array of bytes which I store and use later on in the program. Currently Im doing this in two stages is there a way to do it it one go to speed things up.
try
//Read File Contents into a Buffered Image
/** BUG 4705399: There was a problem with some jpegs taking ages to load turns out to be
* (at least partially) a problem with non-standard colour models, which is why we set the
* destination colour model. The side effect should be standard colour model in subsequent reading.
BufferedImage bi = null;
ImageReader ir = null;
ImageInputStream stream = ImageIO.createImageInputStream(new File(path));
final Iterator i = ImageIO.getImageReaders(stream);
if (i.hasNext())
ir = (ImageReader) i.next();
ir.setInput(stream);
ImageReadParam param = ir.getDefaultReadParam();
ImageTypeSpecifier typeToUse = null;
for (Iterator i2 = ir.getImageTypes(0); i2.hasNext();)
ImageTypeSpecifier type = (ImageTypeSpecifier) i2.next();
if (type.getColorModel().getColorSpace().isCS_sRGB())
typeToUse = type;
if (typeToUse != null)
param.setDestinationType(typeToUse);
bi = ir.read(0, param);
//ir.dispose(); seem to reference this in write
//stream.close();
//Write Buffered Image to Byte ArrayOutput Stream
if (bi != null)
//Convert to byte array
final ByteArrayOutputStream output = new ByteArrayOutputStream();
//Try and find corresponding writer for reader but if not possible
//we use JPG (which is always installed) instead.
final ImageWriter iw = ImageIO.getImageWriter(ir);
if (iw != null)
if (ImageIO.write(bi, ir.getFormatName(), new DataOutputStream(output)) == false)
MainWindow.logger.warning("Unable to Write Image");
else
if (ImageIO.write(bi, "JPG", new DataOutputStream(output)) == false)
MainWindow.logger.warning("Warning Unable to Write Image as JPEG");
//Add to image list
final byte[] imageData = output.toByteArray();
Images.addImage(imageData);
If you don't need to manipulate the image in any way I would suggest you just read the image file directly into a byte array (without ImageReader) and then create the BufferedImage from that byte array.
-
Reading one line from a text file into an array
i want to read one line from a text file into an array, and then the next line into a different array. both arays are type string...i have this:
public static void readAndProcessData(FileInputStream stream){
InputStreamReader iStrReader = new InputStreamReader (stream);
BufferedReader reader = new BufferedReader (iStrReader);
String line = "";
try{
int i = 0;
while (line != null){
names[i] = reader.readLine();
score[i] = reader.readLine();
line = reader.readLine();
i++;
}catch (IOException e){
System.out.println("Error in file access");
this section calls it:
try{
FileInputStream stream = new FileInputStream("ISU.txt");
HighScore.readAndProcessData(stream);
stream.close();
names = HighScore.getNames();
scores = HighScore.getScores();
}catch(IOException e){
System.out.println("Error in accessing file." + e.toString());
it gives me an array index out of bounds erroroh wait I see it when I looked at the original quote.
They array you made called names or the other one is prob too small for the amount of names that you have in the file. Hence as I increases it eventually goes out of bounds of the array so you should probably resize the array if that happens. -
Hey,
I have successfully loaded an external XML data file into my
movie. Now I would like to save the node values into an array so i
can manipulate and call as required...Is this possible or is there
a better way to go about this?Well since you have the XML object loaded, all you would need
to do is extract the nodes and data you needed then push them onto
the array..
If you are not too sure how to go about this, give us the XML
schema (xml structure) of what was loaded and what you need and we
can shoot you some basic code to get it done. -
Need help in putting data into 2d array
My input file :
1 , 2 , 1
2 , 2 , 1
3 , 3 , 1
4 , 2 , 2
2 , 3 , 2I'm stuck at:
while( reader.readLine() != null){
String Matrix[] = line.split(",");
}Means I only can read how many lines there. For 2d array, Matrix[i][j], is that when I count the line, the number of count will be the 'i'? How about 'j'? Am I need to count i and j before put the data into 2d array?
Do correct me if something wrong in:
while( reader.readLine() != null){
String Matrix[] = line.split(",");
} Thank you.gtt0402 wrote:
while( reader.readLine() != null){
String Matrix[] = line.split(",");
How about:
ArrayList<String[]> rows = new ArrayList<String[]>();
while((line = reader.readLine()) != null) {
rows.add(line.split(","));
}After the loop you have a list full of String arrays and you can convert it to a 2D String array if you wish. -
How do I insert into an array only if the condition is true?
I am buiding an array made up of pairs of data from a file. I am going through line by line putting the values in an array and then taking the pairs of two indexes oring them and putting the number into another array. I do not know if there is more than one set on each line so I have to do a while loop to check.The problem is I have to get the indexes in pairs, so for example I take in the element from index 0 and 1 and or them index 2 and 3 and or them, I do not need the combination of 1 and 2 or 3 and 4 and etc. I am using the "Quotient & Remainder" to check if the index is even or odd, if it is even I take that element and the very next index's element, I or them and put them in another array, but if i
t is odd I do not want to put anything into the array. How can I go about doing that? Any help would be appreciated. I am using version 6.1 Thanks, Molly
Attachments:
labview.bmp 3841 KBMolly,
Rather than running while loop which only executes code every other time you could instead just do a little more math to get your index values. Just multiply the iterator (i) terminal by 2 for the first index and then add 1 to it for the second (you'd need to run the loop half as many times of course). This would be more efficient and easier to read in your code. One other tip is that when you are running a loop a specified number of times it's cleaner to use a for loop rather than a while loop.
Regards,
Ryan K.
NI
Maybe you are looking for
-
ITunes upgrade will not install
I am trying to upgrade iTunes to the 10.1.2 version. I currently have 10.0.1.22. It will not update; halfway through I get a message that says: Errors occurred while installing the updates. If the problem persists, choose Tools > Download Only and tr
-
What's the best duplicates finder application for Mac OS X?
What's the best duplicates finder application for Mac OS X?
-
my computer recently had a virus on it so i had to delete all of my programs, because i deleted the programs my music was deleted. since i did not want to lose the music on my mini i now manually transfer the music, it was working great until about a
-
How can I enable the Norton Toolbar? As noted, it shows an "enabled" in Add-ons.
-
Start $ stopping server in remote
How to start and stop a remote server through java