简体   繁体   English

多次提示信息

[英]Prompt for information multiple times

I am new to programming and I'm writing a simple robot in java to split PDF documents and save them to a file. 我是编程新手,正在用Java编写一个简单的机器人来拆分PDF文档并将其保存到文件中。 AS of right now my program asks how many slips (PDF documents) there are and then it asks how many pages there are. 现在,我的程序询问有多少张纸条(PDF文档),然后询问有多少页。 The problem is that it only asks how many pages once. 问题在于它只询问一次多少页。 I need it to ask how many pages are in each individual slip. 我需要询问每个单据中有多少页。 First I tried to wrap the JOption statement in an if statement but then the variable was out of scope. 首先,我尝试将JOption语句包装在if语句中,但随后变量超出范围。 So I made a method for each question, one for number of slips and one for the amount of pages. 因此,我针对每个问题制定了一种方法,一种针对单据数量,一种针对页面数量。 I obviously still have the same result. 我显然仍然有相同的结果。 Can you please help me out? 你能帮我吗?

Here is my code 这是我的代码

//RES. 1366 x 768
import javax.swing.JOptionPane;

import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;

public class automation 
{
Robot robot = new Robot();
public static void main(String [] args) throws AWTException
{
    new automation();
}
public automation() throws AWTException 
{
    int medDelay = 200;
    int counter2 = 1;
    int slips = slips();
    int pages = pages();
    robot.delay(medDelay);
    while (counter2 <= slips)
    {

    counter2 = counter2 + 1;

    //move to file in bridge and double click opens file
    robot.delay(3000);
    robot.mouseMove(300, 150);
    robot.delay(medDelay);
    robot.mousePress(InputEvent.BUTTON1_MASK);
    robot.delay(medDelay);
    robot.mouseRelease(InputEvent.BUTTON1_MASK);
    robot.delay(medDelay);
    robot.mousePress(InputEvent.BUTTON1_MASK);
    robot.delay(medDelay);
    robot.mouseRelease(InputEvent.BUTTON1_MASK);
    robot.delay(medDelay);
    //maximize reader window
    robot.keyPress(KeyEvent.VK_WINDOWS);
    robot.keyPress(KeyEvent.VK_UP);
    robot.keyRelease(KeyEvent.VK_UP);
    robot.keyRelease(KeyEvent.VK_WINDOWS);

    robot.delay(medDelay);
    //move to tools hit enter
    robot.mouseMove(1190, 100);
    robot.delay(medDelay);
    robot.mousePress(InputEvent.BUTTON1_MASK);
    robot.delay(medDelay);
    robot.mouseRelease(InputEvent.BUTTON1_MASK);
    robot.delay(medDelay);
    //move to text recognition and click
    robot.mouseMove(1190, 275);
    robot.delay(medDelay);
    robot.mousePress(InputEvent.BUTTON1_MASK);
    robot.delay(medDelay);
    robot.mouseRelease(InputEvent.BUTTON1_MASK);
    robot.delay(medDelay);
    //scroll down to in this file click and press enter
    robot.mouseMove(1190, 320);
    robot.delay(medDelay);
    robot.mousePress(InputEvent.BUTTON1_MASK);
    robot.delay(medDelay);
    robot.mouseRelease(InputEvent.BUTTON1_MASK);
    robot.delay(medDelay);
    robot.keyPress(KeyEvent.VK_ENTER);  
    robot.keyRelease(KeyEvent.VK_ENTER);
    //move to book marks and click
    robot.delay(60000);
    robot.mouseMove(10, 170);
    robot.delay(medDelay);
    robot.mousePress(InputEvent.BUTTON1_MASK);
    robot.delay(medDelay);
    robot.mouseRelease(InputEvent.BUTTON1_MASK);
    robot.delay(medDelay);
    //move to patient name and triple click
    int counter1 = 1;
    while(counter1 <= pages){
    //JOptionPane.showInputDialog("You are on page " + i + "." );
    counter1 = counter1+1;
    robot.delay(medDelay);
    robot.mouseMove(335, 200);
    robot.delay(medDelay);
    robot.mousePress(InputEvent.BUTTON1_MASK);
    robot.delay(medDelay);
    robot.mouseRelease(InputEvent.BUTTON1_MASK);
    robot.delay(medDelay);
    robot.mousePress(InputEvent.BUTTON1_MASK);
    robot.delay(medDelay);
    robot.mouseRelease(InputEvent.BUTTON1_MASK);
    robot.delay(medDelay);
    robot.mousePress(InputEvent.BUTTON1_MASK);
    robot.delay(medDelay);
    robot.mouseRelease(InputEvent.BUTTON1_MASK);
    robot.delay(medDelay);
    robot.keyPress(KeyEvent.VK_CONTROL);
    robot.keyPress(KeyEvent.VK_C);  
    robot.keyRelease(KeyEvent.VK_C);
    robot.keyRelease(KeyEvent.VK_CONTROL);
    //move to create book mark and click
    robot.mouseMove(180, 175);
    robot.delay(medDelay);
    robot.mousePress(InputEvent.BUTTON1_MASK);
    robot.delay(medDelay);
    robot.mouseRelease(InputEvent.BUTTON1_MASK);
    robot.delay(medDelay);
    robot.mouseMove(50, 100);
    robot.delay(medDelay);
    robot.mousePress(InputEvent.BUTTON1_MASK);
    robot.delay(medDelay);
    robot.mouseRelease(InputEvent.BUTTON1_MASK);
    robot.delay(medDelay);
    //JOptionPane.showMessageDialog(null, "You are on page " + i + "." );
    }
    robot.delay(medDelay);
    robot.keyPress(KeyEvent.VK_CONTROL);
    robot.keyPress(KeyEvent.VK_S);  
    robot.keyRelease(KeyEvent.VK_S);
    robot.keyRelease(KeyEvent.VK_CONTROL);
    robot.delay(medDelay);
    robot.mouseMove(10, 170);
    robot.delay(medDelay);
    robot.mousePress(InputEvent.BUTTON1_MASK);
    robot.delay(medDelay);
    robot.mouseRelease(InputEvent.BUTTON1_MASK);
    robot.delay(medDelay);
    robot.mouseMove(1190, 275);
    robot.delay(medDelay);
    robot.mousePress(InputEvent.BUTTON1_MASK);
    robot.delay(medDelay);
    robot.mouseRelease(InputEvent.BUTTON1_MASK);
    robot.delay(medDelay);
    robot.mouseMove(1190, 100);
    robot.delay(medDelay);
    robot.mousePress(InputEvent.BUTTON1_MASK);
    robot.delay(medDelay);
    robot.mouseRelease(InputEvent.BUTTON1_MASK);
    robot.delay(medDelay);
    robot.keyPress(KeyEvent.VK_CONTROL);
    robot.keyPress(KeyEvent.VK_Q);  
    robot.keyRelease(KeyEvent.VK_Q);
    robot.keyRelease(KeyEvent.VK_CONTROL);
    robot.mouseMove(300, 150);
    robot.delay(300);
    robot.mousePress(InputEvent.BUTTON1_MASK);
    robot.delay(300);
    robot.mouseMove(50, 315);
    robot.delay(500);
    robot.mouseRelease(InputEvent.BUTTON1_MASK);

    }
}
private int slips() {
    String slips = JOptionPane.showInputDialog("How many slips are there?");
    int slip = Integer.parseInt(slips);
    return slip;
}
private int pages() {
    String pages = JOptionPane.showInputDialog("How many pages are there?");
    int page = Integer.parseInt(pages);
    return page;
}


}   

You'll get more help if your code is readable. 如果您的代码可读,您将获得更多帮助。 You won't get/keep a programming position these days with variable names like, m,l,j and t.... Please, consider the maintenance programmer. 这些天,您将不会获得/保留编程位置,并且使用变量名,例如m,l,j和t...。请考虑维护程序员。

That said, you're probably looking for something in this vein: 也就是说,您可能正在寻找与此类似的东西:

int slips = slips();
int outterCounter = 1; 
while (outterCounter <= slips)
{
    int pages = pages();
    int innerCounter = 1;
    while (innerCounter <= pages)
    {
        // your logic
       innerCounter++;
    }

    outterCounter++;
}

Edit : OP had it originally as 1 based... 编辑 :OP最初是基于1的...

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM