2016-04-22 3 views
1

У меня есть файл jar, который запрашивает у пользователя значение n. И добавляет введенные значения. Когда банку исполняется от cmd.exe, работает хорошо. Но при вызове из файла .bat он не запрашивает ввода, а выполняет дальнейшие инструкции. Я попытался с помощью трубы, так как,Автоматический ввод в jar

(echo 3 echo 10 echo 20 echo 30)| java -jar add.jar

но не work.How я могу автоматизировать ввод?

Примечание: значения не принимаются в качестве аргументов, а как подсказка.

+0

Используйте '' & оператор для конкатенации нескольких команд, как 'эхо Привет и эхо world' ... – aschipfl

ответ

2

Не зная о коде, сложно сказать, почему он не работает на вас.

Ниже простого рабочего примера

Add.java

import java.util.Scanner; 

public class Add { 
    public static void main(String[] args) { 
     Scanner scanner = new Scanner(System.in); 
     int sum = 0; 
     while (scanner.hasNextInt()) { 
      int value = scanner.nextInt(); 
      sum += value; 
      System.out.println("sum = " + sum); 
     } 
    } 
} 

run.bat

@echo off 
(echo 2 
echo 10 
echo 20 
echo 30 
echo end) | java -jar Add.jar 

компиляции и построить банку

javac Add.java 
echo Main-Class: Add > manifest.mf 
jar cmf manifest.mf Add.jar Add.class 

запустить пакетный файл

run.bat 

выход

sum = 2 
sum = 12 
sum = 32 
sum = 62 
+1

хорошо работает , дает почти то, что мне нужно! Большое спасибо :) – HunterrJ

Смежные вопросы