2 luanpaixie262 luanpaixie262 于 2016.03.20 13:55 提问

这是我的代码,如何才能让数组实现连续的输入和输出
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("错");              }   }   }     }

6个回答

luanpaixie262
luanpaixie262   2016.03.20 13:59

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("错"); } } } }

luanpaixie262
luanpaixie262   2016.03.20 14:01

怎么解啊,真是不会连续输入输出谁帮我解一下

zhrubin
zhrubin   2016.03.20 15:05

你全用nextline吧,要不然回车换行会折腾死你

W_ILU
W_ILU   2016.03.20 16:14

首先看到你的代码长这样就没人想帮你解答了,起码你得整理美观一下吧
其次,从代码上看你写的ttt()调用却没有传参数这是一个错误,你想操作的是int数组却用一个字符串数组,这有点绕呢
实现连续输入你可以用一个while循环语句,条件为true,想跳出来的地方break就行了

u012427018
u012427018   2016.03.20 17:02

可以启两条线程,一条使用 Scanner sc = new Scanner(System.in);来读数据,另一条while循环写数据,使用LinkedBlockingQueue存数据,他是阻塞的

huixion
huixion   2016.03.20 19:07

解释见注释

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("错");   
            }
        }   
    }   
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!