Защо ми връща null System.console(); |
||||
|
||||
|
|
||||
![]() ![]() |
//Защо винаги cons е null???
Console cons = System.console(); char[] passwd; String username; if(cons != null){ username = cons.readLine("User name: "); passwd = cons.readPassword("Password: "); } |
|||
|
---------------------------
Потребител от: 22.06.08 | Всички уроци от silver_fox | Всички скриптове от silver_fox |
||||
|
|
||||
|
||||
|
|
||||
![]() |
Кажи по точно какъв скрипт искаш да напишеш и на какъв език.
|
|||
|
---------------------------
Потребител от: 31.10.07 | Всички уроци от Equilibrium | Всички скриптове от Equilibrium Believe in yourselves and make your life eazy |
||||
|
|
||||
|
|
||||
![]() ![]() |
Цитат от Equilibrium@22.06.2008 12:09: Кажи по точно какъв скрипт искаш да напишеш и на какъв език.За тази цел ми трябва обект Console. |
|||
|
---------------------------
Потребител от: 22.06.08 | Всички уроци от silver_fox | Всички скриптове от silver_fox |
||||
|
|
||||
|
|
||||
![]() |
Ами незнам как са работите от твоя пакет cons. ето го и моя вариант без да се импортва нищо.Малко е сложен и имаш задачата да прочетеш малко :)
public class helpforum { public static void printPrompt(String prompt) { System.out.print(prompt + " "); System.out.flush(); } public static String readLine() { //4ete ot konzolata i vra6ta string int ch; String r = ""; boolean done = false; while (!done) { try { ch = System.in.read(); if ((char) ch == '\n') done = true; else if (ch != '\r') r = r + (char) ch; } catch(java.io.IOException e) { done = true; } } return r; } public static String readLine(String prompt) { printPrompt(prompt); return readLine(); } public static int readInt(String prompt) { //4ete ot konsolata s validaciq na dannite i vra6ta int while(true) { printPrompt(prompt); try { return Integer.parseInt(readLine().trim()); } catch(NumberFormatException e) { System.out.println("Not an integer. Please try again!"); } } } public static void main(String args[]) { String username=readLine("Vavedi username"); int password=readInt("Vavedi parola"); System.out.println("username "+username); System.out.println("parola "+password); } } |
|||
|
Това мнение е редактирано от Equilibrium на 22.06.2008 16:44
---------------------------
Потребител от: 31.10.07 | Всички уроци от Equilibrium | Всички скриптове от Equilibrium Believe in yourselves and make your life eazy |
||||
|
|
||||
|
|
||||
![]() ![]() |
Цитат от Equilibrium@22.06.2008 16:42: Ами незнам как са работите от твоя пакет cons. ето го и моя вариант без да се импортва нищо.Малко е сложен и имаш задачата да прочетеш малко :)public class helpforum { public static void printPrompt(String prompt) { System.out.print(prompt + " "); System.out.flush(); } public static String readLine() { //4ete ot konzolata i vra6ta string int ch; String r = ""; boolean done = false; while (!done) { try { ch = System.in.read(); if ((char) ch == '\n') done = true; else if (ch != '\r') r = r + (char) ch; } catch(java.io.IOException e) { done = true; } } return r; } public static String readLine(String prompt) { printPrompt(prompt); return readLine(); } public static int readInt(String prompt) { //4ete ot konsolata s validaciq na dannite i vra6ta int while(true) { printPrompt(prompt); try { return Integer.parseInt(readLine().trim()); } catch(NumberFormatException e) { System.out.println("Not an integer. Please try again!"); } } } public static void main(String args[]) { String username=readLine("Vavedi username"); int password=readInt("Vavedi parola"); System.out.println("username "+username); System.out.println("parola "+password); } } Гледам, че за четене си използвал System.in.read(); -ами точно тук е проблема това е видимо от всеки. Аз от начало пот-ходих по дук начин като използвах новия обект в java5 java.util.Scanner Scanner in = new Scanner(System.in); String passwd= in.nextLine(); Обаче като прочетох малко: The Scanner class is not suitable for reading a password from a console since the input is plainly visible to anyone. Java SE 6 introduces a Console class specifically for this purpose. To read a password, use the following code: Console cons = System.console();//тук ми дава null !!!! String username = cons.readLine("User name: "); char[] passwd = cons.readPassword("Password: "); |
|||
|
Това мнение е редактирано от silver_fox на 22.06.2008 19:06
---------------------------
Потребител от: 22.06.08 | Всички уроци от silver_fox | Всички скриптове от silver_fox |
||||
|
|
||||
|
|
||||
![]() |
ами промени паролата така че да е като името копирай нещата след равното и няма да имаш роблеми аз мислех че ти трябва и валидация затова е така :)
не сам много запознат с твоя пример първото тримесечие учих Java и вече е зело да ми се замаглява :) |
|||
|
Това мнение е редактирано от Equilibrium на 22.06.2008 20:13
---------------------------
Потребител от: 31.10.07 | Всички уроци от Equilibrium | Всички скриптове от Equilibrium Believe in yourselves and make your life eazy |
||||
|
|
||||
|
|
||||
![]() ![]() |
Благодаря все пак за старанието :)
|
|||
|
---------------------------
Потребител от: 22.06.08 | Всички уроци от silver_fox | Всички скриптове от silver_fox |
||||
|
|
||||
|
|
||||
![]() ![]() ![]() |
Какво ще ти върне System.console() зависи от начина на стартиране на виртуалната машина.
|
|||
|
---------------------------
Потребител от: 04.04.08 | Всички уроци от dokster | Всички скриптове от dokster Just try me! |
||||
|
|
||||
|
|
||||
![]() |
тук може да пише повече потарси
http://java.sun.com/javase/6/docs/api/java/io/Console.html и аз се зарибих нещо :) |
|||
|
---------------------------
Потребител от: 31.10.07 | Всички уроци от Equilibrium | Всички скриптове от Equilibrium Believe in yourselves and make your life eazy |
||||
|
|
||||
| 1 посетител чете тази тема (0 потребители и 1 гост) | |||
|
Активни потребители:
---
|
|||
| |||
Още по темата:
php форум,
flash форум,
html форум,
it форум,
seo форум,
vista форум,
pc форум,
css форум,
java форум,
mysql форум,
дизайн форум










