小女子学习java遇到难题了,基础知识学到手,可是应用起来太不灵活。尤其是数组,拿到问题往往想不起来用数组去解决。求各位前辈指点一二。

解决方案 »

  1.   

    把介绍和使用数组的api好好看看,然后写几个例子多练习。
      

  2.   

    每天多写几个代码就可以了简单操作数组例子 今天刚给别人写得,转化IP
    package com.liha;public class lihanIpTest {

    /**
     * @param args
     */
    public static void main(String[] args) {

    // TODO Auto-generated method stub
    lihanIpTest ip=new lihanIpTest();
    String ipAddress="193.168.222.333";
    String delims = "[.|]";
    String[] ipStr=ipAddress.split(delims);
    for(int i=0;i<ipStr.length;i++)
    {

    ipStr[3]="*";
    ipStr[2]="*";
    }
    for(int i=0;i<ipStr.length;i++)
    {
    System.out.print(ipStr[i]);
    System.out.print(".");
    }

    }}
      

  3.   

    一。for 很简单,以下我上课时做的课件的内容,也许对你有帮助。
    for ( initialization_expression; loop_condition; increment_expression ) {
           // statements
          } for循环语句的控制出现在关键字for之后的圆括号中,它包括用分号隔开的三个部分。
          第一部分是initialization_expression(初始化表达式),在循环开始执行之前,它对用于保存循环迭代次数的计数器进行初始化,如,int i = 1(可以用整型、浮点型变量)。
          第二部分是只要指定的循环表达式loop_condition(循环条件表达式)的运算结果是true时,循环便可以继续执行。在每一次循环迭代的开始处均检查这个表达式,当它为false时,程序将转至该循环结构之后的语句处继续执行。
          第三部分是increment_expression(增量表达式),通常用于增加循环计数器的值。在每一次循环迭代的末尾执行此项工作。该部分可能是i++,它将循环计数器加1,当然也可以增加的步长不是1,如果增加的步长为2,则可以与成:
    i+=2;或者也可以是更复杂的步长值,比如像i=2*i+1一样。 
    for循环的拓展
         (1),for循环语句的第一部分initialization_expression (初始化表达式),可以声明和初始化多个变量,并且可以在for语句中的各个部分来使用这些变量。
    例:
                       public class multiply {
    public static void main(String args[]) {
    long result = 0;
    int limit = 5;
    for (int i = 1, j = limit ; i <= limit; i++) {
    result = i * j;
    j--;
    System.out.println(i  + "*" + j + "=" + result );
    }
    }
            }(2),for循环语句的第二部loop_condition(循环条件表达式),这里可以是多个逻辑表达式的组合,只要最后的运算结果是true时,循环便可以继续执行,false时,循环将停止。
    例:
                       public class multiply {
    public static void main(String args[]) {
    long result = 0;
    int limit = 5;
    for (int i = 1, j = limit; i <= limit && j > 2; i++) {
    result = i * j;
    j--;
    System.out.println(i  + "*" + j + "=" + result );
    }
    }
            }(3),第三部分是increment_expression(增量表达式),这里并不只是增量表达式,可以有任何表达式,并且可以与循环的控制无关。
    例:
                       public class multiply {
    public static void main(String args[]) {
    long result = 0;
    int limit = 5;
    for (int i = 1, j = limit; i <= limit; i++, j--) {
    result = i * j;
    System.out.println(i  + "*" + j + "=" + result );
    }
    }
            }(4), 用浮点数值计数。
    例:
    public class Area {
    public static void main(String args[]) {
    for (double radius = 1.0; radius <= 2.0; radius = radius + 0.2) {
    System.out.println("radius=" + radius + " Area=" + Math.PI * radius * radius);
    }
    }
    }    (5), for语句中的三个表达式可以去掉任意思的个数,但格式不能变。
    for (int i = 1; i <= limit; i++) 
    int i =1; 
    for (; i <= limit; i++) 
     for ( ; ; ) // 当条件表达式部分不写时,将是一个死循环。
    int i =1; 
    for ( ; i < 10;  ) 嵌套循环
        我们可以将任何一种循环嵌入到另一种循环中,并且可以进行任意多重的嵌套。
          这回将刚开始提到的阶乘的计算重新进行程序设计。public class Factorial {
    public static void main(String args[]) {
    long factorial = 1;
    long limit = 20;
    for (int i = 1; i <= limit; i++) {
    factorial = 1;  // Initialize factorial
    for (int factor = 2; factor <= i; factor++) {
    factorial = factorial * factor;
    }
    System.out.println(i + " factorial is " + factorial);
    }
    }
    }
    continue语句
         当我们在程序设计中,当满足某些条件时,循环体内的某些程序块不执行而进入下一轮循环时,就可以用continue与if语句加以控制。public class Factorial {
    public static void main(String args[]) {
    long factorial = 1;
    long limit = 20;
    for (int i = 1; i <= limit; i++) {
    if(i % 3 == 0) {
           System.out.println("Does not calculate "+ i +" factorials." );
           continue;
    }
    factorial = 1;  // Initialize factorial
    for (int factor = 2; factor <= i; factor++) {
    factorial = factorial * factor;
    }
    System.out.println(i + " factorial is " + factorial);
    }
    }
    }break语句当我们在程序设计中,当满足某些条件时,退出循环时,就可以用break与if语句加以控制。
    public class Factorial {
    public static void main(String args[]) {
    long factorial = 1;
    long limit = 20;
    for (int i = 1; i <= limit; i++) {
    if(factorial > 6227020800l) {
    System.out.println("Exit For.");
    break;
    }
    factorial = 1;  // Initialize factorial
    for (int factor = 2; factor <= i; factor++) {
    factorial = factorial * factor;
    }
    System.out.println(i + " factorial is " + factorial);
    }
    }
    }二。对于数组,那很简单。当然你要处理同一类型的数据时,而且知道数据的个数时,你可以用数据
      

  4.   

    要说的前面的都说了.just do it
    多写代码,不要只是在脑子里想.
    有很多问题用脑子想很简单,实际做了才发现有很多细节上的问题.
    数组不是很难,多写一些代码,锻炼下逻辑思维的能力,慢慢的就会好起来了.
      

  5.   

    我认为楼主的问题不在于对Java语言的陌生,而是在于对数据结构基础的陌生。受到了面向对象的毒害。可以多研究数据结构。