91嫩草国产线免费观看_欧美日韩中文字幕在线观看_精品精品国产高清a毛片_六月婷婷网 - 一级一级特黄女人精品毛片

java中system.in怎么用?

首頁 > 移民2021-11-09 18:57:47

System.in怎么用?

比如說我想輸入整型變量i。
java se5以后提供了一個比較好的輸入方法
下面是一個小例子:
import java.util.*;
class test{
public static void main(String []args){
Scanner cin=new Scanner(System.in);
System.out.println("請輸入你的名字:");
String name=cin.nextLine();
System.out.println("你輸入你的年齡");
int age=cin.nextInt();
System.out.println("你的名字是:"+name+" "+"你的年齡是:"+age);}
}

就像上面一樣,如果想輸入double則用,nestDouble等
那你要定義輸入流,才可以輸入
System.in 是一個方法 你定義一個變量接收 然后做Integer 轉換就可以了
try{
BufferedReader input=new BufferedReader(new InputStreamReader(System.in));
String inputLine=input.readline();
int i=Integer.parseInt(inputLine).intValue();
}
catch(Exception e){
e.printStackTrace() ;
}

關于JAVA中的System.in

public static void main(String[] args) {rn System.out.println("請輸入顧客的姓名:");rn InputStreamReader is=new InputStreamReader(System.in);rn BufferedReader br=new BufferedReader(is);rn try{rn String name=br.readLine();rn }catch(IOException e){rn System.out.println("系統錯誤!");rn e.printStackTrace();rn }finally{rn try{rn is.close();rn br.close();rn }catch(IOException e){rn System.out.println("關閉流發生錯誤!");rn e.printStackTrace();rn }rn } rn我想從另一個類中來聯系我所輸入的name,應該怎么聯系?
我只在主方法時調用abc類的name變量就可以獲取輸入的名字啦.同樣,也適用其他類里.只需要調用abc類對象的name就可以了.
import java.io.*;
public class abc{
String name;
public abc(){
InputStreamReader is=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(is);
System.out.println("請輸入顧客的姓名:");

try{
name=br.readLine();
}catch(IOException e){
System.out.println("系統錯誤!");
e.printStackTrace();
}finally{
try{
is.close();
br.close();
}catch(IOException e){
System.out.println("關閉流發生錯誤!");
e.printStackTrace();
}
}
}

public static void main(String[] args) {
abc test=new abc();
System.out.println("你輸入的名字為:"+test.name);
}

}

System.in在JAVA中是怎么用的

一、System.in
Java在java.lang.System類中聲明了3個常量in、out、err,用于實現標準輸入/輸出功能。 聲明如下:
public final class System extends Object { public final static InputStream in = nullInputStream(); //standard input constant public final static PrintStream out = nullPrintStream(); //standard output constant public final static PrintStream err = nullPrintStream(); //standard error output constant }
InputStream類的read()方法可以從鍵盤接收數據,PrintStream類的print()和println()方法可以向屏幕輸出數據。
由于read()方法聲明要拋出IOException異常,調用它的函數要處理該異常。 實例:

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str;
str = br.readLine();

java怎么用System.in.read()讀字符串?

a是String類的對象.編譯時a=System.in.read();會出錯,想要在程序運行的時候鍵入該字符串,怎么辦?
jcreator初學者不錯,等熟悉java后使用myeclipse或eclipse.
jbuilder,netbeans也可以,但我自己不喜歡,所以也就不推薦了.還有myeclipse和eclipse作桌面項目沒有jbuilder和netbeans方便,但作企業級的非桌面項目,真的很方便.

直接使用System.in.read()方法返回得是int型得值,需要將int轉換為char,然后在組合成字符串,很不方便,可以使用如下方式:
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class ReadString
{
public ReadString()
{

}
public static void main(String [] arguments)throws Exception
{

System.out.println("請輸入內容");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String inputStr = br.readLine();
System.out.println(inputStr);

}
}
這樣做吧:

try {
String s = String.valueOf(System.in.read());
} catch (IOException e) {

e.printStackTrace();
}

你用eclispe吧,下載地址:http://www.eclipse.org/downloads/
read()返回的是int型,輸入字符的話返回單個字符的ASCII碼,
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Test {
public static void main(String[] args) {
String str = "";
BufferedReader br= new BufferedReader(new InputStreamReader(System.in));
System.out.print("請輸入字符串:");
try {
str = br.readLine();
System.out.println();
System.out.println("您輸入的字符串為:"+str);
} catch (IOException e) {
e.printStackTrace();
}

}
}
int a;
String s="";
while((a=System.in.read())!=-1){
s+=(char)a;
}
用eclipse

關于JAVA,System.in如何執行的問題。

import java.io.*;rnpublic class TestTransForm2 {rn public static void main(String args[]) {rn InputStreamReader isr = rn new InputStreamReader(System.in);rn BufferedReader br = new BufferedReader(isr);rn String s = null;rn try {rn s = br.readLine();rn while(s!=null){rn if(s.equalsIgnoreCase("exit")) break;rn System.out.println(s.toUpperCase());rn s = br.readLine();rn }rn br.close();rn } catch (IOException e) {rn e.printStackTrace();rn }rn }rnrn這個程序將輸入的小寫轉為大寫輸出,我輸入hello執行 System.out.println(s.toUpperCase());后輸出HELLO,此時程序停留,等待繼續輸入。rn再執行 s = br.readLine();這個時候我還沒有輸入,此時 s 到底是指向什么字符串。如果是hello,那難道不是不停循環輸出HELLO嗎?如果指向是NULL,那么就應該直接退出。實際情況是既不是死循環又沒退出,此時我還可以繼續輸入新的字符串,難道程序又跳到System.in嗎?。請問這個程序是如何執行的。
1. 此時我還可以繼續輸入新的字符串,難道程序又跳到System.in嗎?

你要知道 IO inputStream outputStream 的原理。

InputStream OutputStream 和他們的緩沖器。 都相當于一條管道。 Buffer 相當于一個水池,或者說一個大的水管。

當 br.readLine(); 的時候 管道會向來源方 抽水(索取一行字符串) 會一直等到有水來了為止。(阻塞,一直等待) 而管道那頭連接的是 用戶輸入(System.in)

所以當你調用 br.readLine(); 的時候。 就相當于會向管道的那頭System.in 索取一行數據。

只要沒進行 br.close() 之前,這個管道是建立 相通的。

所以 正確上來說。 程序不是 跳到第一個 System.in 那行。 而是 從沒關閉的通道 里 獲取System.in的用戶輸入。

希望我的回答,能讓你明白。有任何問題請追問。 我的回答如果對你有幫助的話,請采納。
java se5以后提供了一個比較好的輸入方法
下面是一個小例子:
import java.util.*;
class test{
public static void main(String []args){
Scanner cin=new Scanner(System.in);
System.out.println("請輸入你的名字:");
String name=cin.nextLine();
System.out.println("你輸入你的年齡");
int age=cin.nextInt();
System.out.println("你的名字是:"+name+" "+"你的年齡是:"+age);}
}

就像上面一樣,如果想輸入double則用,nestDouble等
s = br.readLine();
while(s!=null){
if(s.equalsIgnoreCase("exit")) break;
System.out.println(s.toUpperCase());
s = br.readLine();
}
這個循環基本上是個死循環,這里的s不可能為null
s = br.readLine() 這里的s,每次執行完都指向一個新的字符串。但執行到這里的時候會阻塞,阻塞期間s的值還是上一次循環時的值
語句在執行的時候都是執行等號右邊,將返回值賦給左邊的變量,在readLine()這里,看似只有一句,其實在方法體里有好多句,這里就阻塞在了等待結束符的地方,只有當你輸入結束符(注:readLine()的結束符就是回車),這句才會有返回值,程序才會繼續往下走,這句運行之后s指向你新輸入的字符串,不可能為空的,即便直接敲回車s="",這也不是null,這是字符串,只是長度為0而已!

相關推薦:

著作權轉讓法律規定(中華人民共和國著作權法的內容)

最新立法法全文(中華人民共和國立法法2023修正)

上訴狀怎么寫(上訴狀的訴訟請求怎么寫)

婚內經營性債務屬于共同債務嗎(婚內經營性債務屬于共同債務嗎)

涉外民事訴訟程序的原則(涉外訴訟的原則有哪些)