import java.util.*;
public class MatchBrackets {
public static void main(String[] argh) {
String input = "[]{[]()}";
System.out.println (input);
char [] openChars = {'[','{','('};
char [] closeChars = {']','}',')'};
Stack<Character> stack = new Stack<Character>();
for (int i = 0; i < input.length(); i++) {
String x = "" +input.charAt(i);
if (String.valueOf(openChars).indexOf(x) != -1)
{
stack.push(input.charAt(i));
}
else
{
Character lastOpener = stack.peek();
int idx1 = String.valueOf(openChars).indexOf(lastOpener.toString());
int idx2 = String.valueOf(closeChars).indexOf(x);
if (idx1 != idx2)
{
System.out.println("false");
return;
}
else
{
stack.pop();
}
}
}
if (stack.size() == 0)
System.out.println("true");
else
System.out.println("false");
}
}
Вы должны предложить пользователю распечатать текущую страницу, нет способа обойти этот шаг ( возможно в activeX для IE). Тем не менее, есть два разных способа предложить пользователю распечатать изображения вашей улыбки при загрузке страницы.
Вот как это сделать в JavaScript.
window.onload = function() {
var img = window.open("me-smiling.png");
img.print();
}
А вот как это сделать в css / javascript / html (при условии, что ваше изображение имеет id
«я улыбаюсь»):
CSS:
@media print {
* {
display:none;
}
img#me-smiling {
display:block;
}
}
Javascript:
window.onload = function() { window.print() }
Насколько мне известно, вы не можете обойти диалоговое окно печати. Если бы браузер позволял это сделать, это было бы довольно очевидным недостатком безопасности. Но вы можете вызвать диалоговое окно печати с помощью "window.print ()".
Я думаю, что в лучшем случае вам понадобится компонент ActiveX, использующий базовый API Windows, чтобы получить контекст устройства для принтера по умолчанию и попытаться распечатать встроенное изображение, используя предполагаемые значения для настроек принтера.