问题描述
- 这是我的代码,如何才能让数组实现连续的输入和输出
-
public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); System.out.println(""请输入数字个数""); int n = sc.nextInt(); System.out.println(""请输入数字""); Scanner ww = new Scanner(System.in); String[] a = new String[n]; for (int i = 1; i <= n; i++) { a[i] = ww.next(); } ttt(); } public static void ttt(int man) { for (int i = 0; i <= man; i++) { if (man == Math.pow(i 2)) { System.out.println(""对""); break; } if(man == i){ System.out.println(""错""); } } } }
解决方案
public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); System.out.println(""请输入数字个数""); int n = sc.nextInt(); System.out.println(""请输入数字""); Scanner ww = new Scanner(System.in); String[] a = new String[n]; for (int i = 1; i <= n; i++) { a[i] = ww.next(); } ttt(); } public static void ttt(int man) { for (int i = 0; i <= man; i++) { if (man == Math.pow(i 2)) { System.out.println(""对""); break; } if(man == i){ System.out.println(""错""); } } } }
解决方案二:
怎么解啊,真是不会连续输入输出谁帮我解一下
解决方案三:
你全用nextline吧,要不然回车换行会折腾死你
解决方案四:
首先看到你的代码长这样就没人想帮你解答了,起码你得整理美观一下吧
其次,从代码上看你写的ttt()调用却没有传参数这是一个错误,你想操作的是int数组却用一个字符串数组,这有点绕呢
实现连续输入你可以用一个while循环语句,条件为true想跳出来的地方break就行了
解决方案五:
可以启两条线程,一条使用 Scanner sc = new Scanner(System.in);来读数据,另一条while循环写数据,使用LinkedBlockingQueue存数据,他是阻塞的
解决方案六:
解释见注释
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); System.out.println(""请输入数字个数""); int n = sc.nextInt(); System.out.println(""请输入数字""); Scanner ww = new Scanner(System.in); String[] a = new String[n]; for (int i = 0; i < n; i++)//定义数组长度为n则i从0到n-1;不然数组不够放 { a[i] = ww.next(); } //ttt(); //这个函数要传递数值,如ttt(5);} public static void ttt(int man) { for (int i = 0; i <= man; i++)//这里可以判断i<=Math.sqrt(man);减小运算量 { if (man == Math.pow(i 2)) { System.out.println(""对""); break; } if(man == i){ System.out.println(""错""); } } }