第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法阻止 BufferReader 在控制臺中接受輸入

無法阻止 BufferReader 在控制臺中接受輸入

回首憶惘然 2021-08-04 17:02:37
我正在嘗試制作一個程序,該程序?qū)⒌谝粋€參數(shù)作為列表的(大小 + 1),即元素的數(shù)量。為了保持元素和索引相同,我在列表的索引 0 添加了一個假值。當(dāng)程序運(yùn)行時,它需要來自用戶的三個輸入(這是我想要的)并終止。但是當(dāng)我取消對其余代碼的注釋(實(shí)際上是必需的)時,程序會繼續(xù)接受輸入并且不會終止我嘗試執(zhí)行的任何操作,除非我按下終止按鈕。請有人解釋我為什么會這樣?import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.StringTokenizer;public class FastReader {    BufferedReader br;    StringTokenizer st;    public FastReader() {        br = new BufferedReader(new InputStreamReader(System.in));    }    String next() {        while (st == null || !st.hasMoreElements()) {            try {                st = new StringTokenizer(br.readLine());            }            catch (IOException e) {                e.printStackTrace();            }        }        return st.nextToken();    }    int nextInt() {        return Integer.parseInt(next());    }    long nextLong() {        return Long.parseLong(next());    }    double nextDouble() {        return Double.parseDouble(next());    }    String nextLine() {        String str = "";        try {            str = br.readLine();        }        catch (IOException e) {            e.printStackTrace();        }        return str;    }    void close() {        try {            br.close();        }        catch (IOException e) {            e.printStackTrace();        }    }}public static void main(String[] args) throws Exception {    FastReader s = new FastReader();    int n = s.nextInt();    int k = s.nextInt();    int x = s.nextInt();    ArrayList<Integer> p = new ArrayList<>();    p.add(0);    for (int i = 1; i <= n; i++) {        p.add(i, i);    }    //for(int i=x; p.size()>2; i=(1+1)%p.size()){    //  int cp= i;    //  int tk= cp%k;    //  for(int j = cp+1; j<=cp+tk; j++){    //      p.remove((Object)j);    //  }    //}    //System.out.print(p.get(1));}
查看完整描述

2 回答

?
慕虎7371278

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超4個贊

你的for條件是問題。你陷入了無限循環(huán)。這與讀取輸入數(shù)據(jù)無關(guān)。

for(int i=x; p.size()>2; i=(1+1)%p.size()){

將首先做i = x,然后如果p.size()>2 i將等于(1+1)%p.size(),即2。而且 for 循環(huán)的條件永遠(yuǎn)為真:在某些時候,您的列表p將包含[0, 1, 2]并且不能2+1從列表中刪除大于或等于的元素。


查看完整回答
反對 回復(fù) 2021-08-04
  • 2 回答
  • 0 關(guān)注
  • 175 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號