Java作业 1104/1105

package org.westos.Homework;
import java.util.Scanner;

/**
 * 1:需求:请设计一个方法,可以实现获取任意范围内的随机数。
 * */
public class Homework01 {
    public static void main(String[] args) throws NumberFormatException{
        Scanner sr = new Scanner(System.in);
        //做一个动态循环
        while(true) {
            //给用户 输入的规则
            System.out.println("请输入一个范围:(例如1-100)");
            String s = sr.nextLine();
            //正则表达式判断
            String s1 ="[0-9]+\\-[0-9]+";
            if(s.matches(s1)) {
                //用分割功能取出用户输入的范围
                String [] arrString = s.split("-");
                int min=Integer.parseInt(arrString[0]);
                int max=Integer.parseInt(arrString[1]);
                while(true) {
                    //取一个随机数
                    int result = (int)(Math.random()*max);
                    if(result >= min) {
                        //如果该数在这个范围里 就输入他并且结束当前循环
                        System.out.println(result);
                        break;
                    }
                }
                //如果结束上一个循环就退出外层循环
                break;
                //如果用户输入不正确则重新输入
            }else {
                System.out.println("输入错误请重新输入");
            }
        }
    }
}

这里写图片描述

2:下面代码执行的结果是:
public static void main(String[] args) {
        String s1 = new String("hello");
        String s2 = new String("hello");
        System.out.print(s1 == s2);
        System.out.print(",");
        System.out.println(s1.equals(s2));
    }
}
false,true
3:下面代码执行的结果是:
public static void main(String arg[]) {
        StringBuffer a = new StringBuffer("A");
        StringBuffer b = new StringBuffer("B");
        operate(a, b);
        System.out.println(a + "," + b);
    }
    static void operate(StringBuffer x, StringBuffer y) {
        x.append(y);
        y = x;
    }
    AB,B
4:下面代码执行的结果是
6、下列代码的执行结果是:
    String str1 = "This is a test!";
    StringBuffer str2 =new StringBuffer( "This is a test!");
    str1 = str1+"Hi";
    str2.append("Hi");
    System.out.println("str1 == " + str1);
    System.out.println("str2 == " + str2);
    This is a test!Hi
    This is a test!Hi
7:下面代码能最后打印的值是?
    public class TestValue {
    private static int a;

    public static void main(String[] args) {
        modify(a);
        System.out.println(a);
    }

    public static void modify(int a) {
        a++;
    }

}
c
A)编译错误  B)null  C)0         D)1
package org.westos.Homework;

import java.util.Arrays;

/**
 * 获取10个1-20之间的随机数,要求不能重复
 * */
public class Homework02 {
    public static void main(String[] args) {
        //用Arrays里的toString方法输出该数组
        System.out.println(Arrays.toString(radNumbers()));
    }
    //定义一个获取随机数的方法
    public static int[] radNumbers() {
        //定义一个10长度的数组
        int [] arr = new int [10];
        for(int i=0; i<arr.length; i++) {
            //生成一个随机数
            int ran = (int)(Math.random()*20+1);
            //如果该随机数没重复就添加进该数组
            if(ifRepeat(arr, ran)==false) {
                arr[i] = ran;
            }else {
                i=i-1;
            }
        }
        return arr;
    }
    //定义一个判断是否重复的方法
    public static boolean ifRepeat(int[] arr , int result) {
        for(int i=0; i<arr.length; i++) {
            if(arr[i]==result) {
                return true;
            }
        }
        return false;
    } 
}

这里写图片描述

package org.westos.Homework;
/**
 * 1:集合的嵌套遍历
  需求:
        我们班有学生,每一个学生是一个对象。所以我们可以使用一个集合表示我们班级的学生。ArrayList<Student>
        但是呢,我们旁边是不是还有班级,每个班级是不是也是一个ArrayList<Student>。
        而我现在有多个ArrayList<Student>。也要用集合存储,怎么办呢?
 * */
import java.util.ArrayList;
import java.util.List;

public class Homework03 {
    public static void main(String[] args) {
        //定义一个大集合l, l用来储存小集合l1 l2
        List l = new ArrayList();
        //l1 l2用来储存学生的信息  l1储存 s1 s2 l2储存s3 s4 l1和l2就相当于班级
        List l1 = new ArrayList();
        List l2 = new ArrayList();
        Student s1 = new Student("流通",20);
        Student s2 = new Student("赵欢",19);
        Student s3 = new Student("老王",21);
        Student s4 = new Student("瑶瑶",22);
        l1.add(s1);
        l1.add(s2);
        l2.add(s3);
        l2.add(s4);
        l.add(l1);
        l.add(l2);
        //遍历大集合中的元素
        for(int i=0; i<l.size(); i++) {
            //向下转型  
            List ll = (List)l.get(i);
            for(int j=0; j<ll.size(); j++) {
                System.out.println(ll.get(j));
            }
        }
    }
}

这里写图片描述

package org.westos.Homework;

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;

/**
 * 使用ArrayList集合存储自定义对象并遍历(三种方式去实现)
 * */
public class Homework04 {
    public static void main(String[] args) {
        List l = new ArrayList();
        l.add("流通");
        l.add("赵欢");
        l.add("瑶瑶");
        //第一种: toArray()方法
        Object [] obj = l.toArray();
        for(int i=0; i<obj.length; i++) {
            String s = (String)obj[i];
            System.out.println(s);
        }
        System.out.println("--------------------");
        //第二种使用迭代器 Iterator
        ListIterator li = l.listIterator();
        while(li.hasNext()) {
            String s = (String)li.next();
            System.out.println(s);
        }
        System.out.println("---------------------");
        //第三种 List集合中的get() size()方法
        for(int i=0; i<l.size(); i++) {
            String s = (String)l.get(i);
            System.out.println(s);
        }
    }
}

这里写图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章