QQ图片20130707163847.jpg (4.23 KB, 下载次数: 0)
QQ图片20130707173405.jpg (8.82 KB, 下载次数: 0)
杨晓燕 发表于 2013-7-7 19:49
嗨~第三题,还没学到,学了也忘了,第二题还得想想
test1.jpg (10.44 KB, 下载次数: 0)
第一题结果
test2.jpg (61.11 KB, 下载次数: 0)
第二题运行结果
test3.jpg (208.16 KB, 下载次数: 0)
运行测试结果
源文件夹情况.jpg (82.71 KB, 下载次数: 0)
复制的源文件夹下的文件
目标文件夹情况.jpg (44.16 KB, 下载次数: 0)
复制的目标夹下的文件
杨晓燕 发表于 2013-7-7 20:36
木有过目不忘的本领啊,虽然看了一遍,做起题来很陌生。。苗,你就说说第一题我哪里丢了一分把 ...
第一题:
复制代码
- <FONT face=宋体></FONT>
杨晓燕 发表于 2013-7-7 20:49
oooo,有道理,收了,哈哈
test2_1.jpg (105.79 KB, 下载次数: 0)
3.83 KB, 阅读权限: 100, 下载次数: 0
第三周1.jpg (4.49 KB, 下载次数: 0)
王洪波 发表于 2013-7-8 12:30
这是改后的,请指教:
QQ截图20130708222818.png (1.25 KB, 下载次数: 0)
小Q截图-20130709014005.png (17.89 KB, 下载次数: 0)
.java文件复制
小Q截图-20130709014246.png (14.67 KB, 下载次数: 0)
.class复制
小Q截图-20130709014439.png (6.33 KB, 下载次数: 0)
源目录
刘张朋 发表于 2013-7-8 15:04
抱着试试看的态度做了下,勉强做了第二、三题,不知道是否符合要求,但是对复习巩固确实很有效。第一题还是 ...
刘张朋 发表于 2013-7-9 08:39
可能是贴进去的时候什么地方弄错了
刘张朋 发表于 2013-7-9 08:39
可能是贴进去的时候什么地方弄错了
复制代码
- package com.itheima;
- import java.io.*;
- import java.util.ArrayList;
- import java.util.Random;
- /*思路:
- * 第二题:求出1-100之间的素数,假设有n个,将这些素数存入a[n+1]的数组中。(其中n个是求出的各个素数,还有一个是随机添加其中的一个素数)
- * 这样数组中就有相同的两个素数,写一个搜索算法,找出数组中相同的那个素数。(随机添加的素数,可手动指定,也可利用随机方法产生)
- * 1.求1到100之间的素数,首先应该有一个判断某数是否为素数的方法。
- * 2.因为素数的个数n不确定,而要将其存放于数组,但是数组长度是固定的,如直接定义数组,
- * 其长度无法准确定义,但是想到集合是可变长度的,且ArrayList可转换为数组,故使用
- * ArrayList先存放数组元素,再转换为int数组。
- * 3.要在素数数组中随机插入一个素数,可使用ArrayList的add(int index, E element) 方法,
- * 其添加位置index有Random类随机产生。而添加的素数由手动键盘输入。
- * 4.查找相同的那个素数可由两个for语句嵌套遍历数组得到。
- */
- public class TestTwo {
- /**
- * @param args
- * @throws Exception
- */
- public static void main(String[] args) throws Exception {
- //调用getPrimeToList方法。得到素数对应Integer组成的ArrayList集合
- ArrayList<Integer> al = primeToList();
- //调用listToArray(ArrayList<Integer> al)方法,将al转换成int[];
- int[] arr = listToArray(al);//如输入的不是数字,会产生异常
- String prime = getAlikeEle(arr);
- System.out.println(prime);
- }
- //获取相同的素数,
- public static String getAlikeEle(int[] arr){
- for(int x=0;x<arr.length-2;x++){
- for(int y=x+1;y<arr.length-1;y++){
- if(arr[x]==arr[y])
- return "相同的素数"+arr[x]+"位于素数表的"+x+"位置和"+y;
- //该处的素数表值得是按从小到大排列的100以内的素数表
- }
- }
- return -1+"";
- }
- //在ArrayList集合中随机插入录入的素数,并返回一个Object数组
- public static int[] listToArray(ArrayList<Integer> al)throws Exception{
- //产生一个位于在al角标内的随机数,用于指定素数插入的位置
- int r = new Random().nextInt(al.size()-1);
- //创建键盘输入流,读取键盘录入的素数的字符串表示形式。
- BufferedReader bufr =
- new BufferedReader(new InputStreamReader(System.in));
- //读取键盘录入,去除两端空格。
- String line = bufr.readLine().trim();
- //如果输入为null,或者不是纯数字,报异常
- if((line=="") ||! (line.matches("\\d{1,3}")))
- throw new RuntimeException("输入的不是数字");
- //将int类型的字符串转换为Integer对象
- Integer insertPrime = Integer.valueOf(line);
- //判断输入的数字是否为1到100间的素数,如不是直接报异常
- int a = insertPrime;
- if(a<1 || a>100 || !(TestTwo.isPrime(a)))
- throw new RuntimeException("输入的素数不是1到100间的素数,请核准后输入");
- //将输入的素数随机插入al集合中
- al.add(r, insertPrime);
- //遍历Object[]将其转换为int数组
- int[] arr = new int[al.size()];
- for(int i=0;i<al.size();i++){
- arr[i] = al.get(i);
- }
- return arr;
- }
- //获取1到100内的素数,并存放到一个ArrayList集合中
- public static ArrayList<Integer> primeToList(){
- //创建ArrayList,并加范型,只允许存入Integer类型的对象
- ArrayList<Integer> al = new ArrayList<Integer>();
- for(int x=2;x<100;x++){ //因1和100都不是素数,故不作判断
- if(TestTwo.isPrime(x))
- al.add(x); //自动装箱,x封装为Integer
- }
- if(al.size()==0)
- return null; //如果al为null,表示1到100之间无素数
- return al;
- }
- /*判断一个数是否为素数的方法
- *参考素数判定的“埃拉托斯特尼筛法”,检查一个正整数N是否为素数,
- *最简单的方法就是试除法,将该数N用小于等于根号N的所有素数去试除,若均无法整除,则N为素数
- */
- public static boolean isPrime(int num){
- if(num<=1)
- return false; //1不是素数,负数不考虑
- for(int i=2;i*i<=num;i++){
- if(num%i==0)
- return false; //num有1和其本身以外的因子,故不是素数
- }
- return true; //num没有1和其本身以外的因子,故不是素数
- }
- }
咦,我盗了太阳 发表于 2013-7-8 22:32
好吧,我是第一次动脑子去想一个Java问题,虽然过程有点苦逼,但是我写出来了
虽然只有素数这个。。。。
2.jpg (8.66 KB, 下载次数: 0)
一木榜公 发表于 2013-7-9 00:07
编译结果:
QQ图片20130709231550.jpg (3.39 KB, 下载次数: 0)
第一题运行结果
QQ截图20130709231847.png (19.92 KB, 下载次数: 0)
第二题运行结果
一木榜公 发表于 2013-7-9 20:40
2、求出1-100之间的素数,假设有n个,将这些素数存入a[n+1]的数组中。
(其中n个是求出的各个素数,还有一 ...
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) | 黑马程序员IT技术论坛 X3.2 |