Java第十五次作业

P1 包装类-引入

【1】什么是包装类:

以前定义变量,经常使用基本数据类型。

对于基本数据类型来说,它就是一个数,加点属性,加点构造器,

将基本数据类型对应进行了一个封装,产生了一个新的类,---》包装类。

int,byte--》基本数据类型

包装类---》引用数据类型

【2】对应关系:

基本数据类型                          对应的包装类                                 继承关系

byte                                        Byte                                                --》Number--》Object

short                                       Short                                              --》Number--》Object

int                                           Integer                                           --》Number--》Object

long                                        Long                                              --》Number--》Object

float                                        Float                                              --》Number--》Object

double                                    Double                                            --》Number--》Object

char                                        Character                                        Object

boolean                                Boolean                                             Object

【3】已经有基本数据类型了,为什么要封装为包装类?

(1)java语言 面向对象的语言,最擅长的操作各种各样的类。

(2)以前学习装数据的--》数据,int[] String[] double[] Student[]

以后学习的装装数据的---》集合,有一个特点,只能装引用数据类型的数据

【4】是不是有了包装类以后就不用基本数据类型了?

不是。

P2 包装类-常用属性-常用构造器

【1】直接使用,无需导包

Java.lang

【2】类的继承关系

java.lang.Object

java.lang.Number

java.lang.Integer

【3】实现接口

所有已实现的接口:

Serializable,Comparable<Integer>

【4】这个类被final修饰,那么这个类不能有子类,不能被继承:

public final class Integer

extends Number

implements Comparable<Integer>

【5】包装类是对基本数据类型的封装:对int类型封装产生了Integer

Integer类在对象中包装了一个基本类型int的值。Integer类型的对象包含一个int类型的字段

【6】类的历史

从以下版本开始:

JDK1.0

【7】属性
 

package hwd;
 
 
public class test01 {
//这是一个main方法,是程序的入口;
	public static void main(String[] args){
		//属性
		System.out.println(Integer.MAX_VALUE);
		System.out.println(Integer.MIN_VALUE);
		//物极必反原理
		System.out.println(Integer.MAX_VALUE+1);
		System.out.println(Integer.MIN_VALUE-1);
	}
}

2147483647
-2147483648
-2147483648
2147483647

【8】构造器 (发现没有空参构造器)

(1)int 类型作为构造器的参数:

Integer i1 = new Integer(12);

public Integer (int value){//传入的int类型的数据
    this.value = value;//将你传入的int类型的值给了底层你封装的那个value
}

(2)String类型作为构造器的参数:

public Integer(String s) throws NumberFormatException{//传入一个字符串 ,相当于调用这个构造器/        //的时候很可能会出现异常(当你传入字符串没有办法转为int类型的时候)
    this.value = parseInt(s,10);//将字符串转为int类型的数,然后赋给底层的value
}

P3 包装类-自动装箱-自动拆箱

【9】包装类特有的机制:自动装箱 自动拆箱:

//自动装箱:int ---》 Integer

                                Integer i = 12;

                                System.out.println(i);

                                //自动拆箱:Integer---》int

                                Integer i2 = new Integer(12);

                                int num = i2;

                                System.our.println(num);

(1) 自动装箱 自动拆箱 是从JDK1.5以后新出的特新

(2) 自动装箱 自动拆箱:将基本数据类型和包装类进行快速的类型转换

package hwd;
 
 
public class test01 {
//这是一个main方法,是程序的入口;
	public static void main(String[] args){
		//自动装箱
		Integer i = 12;
		System.out.println(i);
		//自动拆箱
		Integer i2 = new Integer(12);
		int num = i2;
		System.out.println(num);
		
		
		
	}
}

p4

【10】常用方法

package hwd;
 
 
public class test01 {
//这是一个main方法,是程序的入口;
	public static void main(String[] args){
 
		Integer i1 = new Integer(6);
		Integer i2 = new Integer(12);
		System.out.println(i1.compareTo(i2));
		
		//Integer对象是通过new关键字创建对象的
		
		Integer i3 = new Integer(12);
		Integer i4 = new Integer(12);
		System.out.println(i3 == i4);
		boolean flag = i3.equals(i4);
		System.out.println(flag);
		
		
		//Integer对象通过自动装箱来完成的
		Integer i5 = 12;
		Integer i6 = 12;
		System.out.println(i5.equals(i6));
		System.out.println(i5 == i6);
		
		//intValue
		Integer i7 = 130;
		int i = i7.intValue();
		System.out.println(i);
		
		//parseInt(String s)
		int i8 = Integer.parseInt("12");
		System.out.println(i8);
		
		//toString
		Integer i10 = 130;
		System.out.println(i10.toString());
	}
}

-1
false
true
true
true
130
12
130

P5

package hwd;
import java.util.*;
 
public class Test {
 
	public static void main(String[] args) {
		
		
		Date d = new Date();
		System.out.println(d);
		System.out.println(d.toString());
		System.out.println(d.toGMTString());//过时方法
		System.out.println(d.toLocaleString());
		
		System.out.println(d.getYear());
		System.out.println(d.getMonth());
		
		//以后获取时间差用currentMillis() ,因为这个方法是静态的 可以类名.方法名直接调用
		System.out.println(d.getTime());
		System.out.println(System.currentTimeMillis());
		
		
		
		long startTime = System.currentTimeMillis();
		for(int i = 0; i < 100000; i++){
			
			System.out.println(i);
			
		}
		
		long endTime = System.currentTimeMillis();
		System.out.println(endTime-startTime);
		
 
	}
 
}

P6

package hwd;
import java.util.*;
import java.text.*;
import java.sql.*;
import java.sql.Date;
 
 
class Dome{//创建类
	
 public static void main(String[]args){//主方法
	 
	 
	 Date d = new Date(15920559641516L);
	 System.out.println(d);
	 /**
	  * java.sql.Date和java.util.Date的区别
	  * java.util.Date:年月日 时分秒
	  * java.sql.Date:年月日
	  */
	 
	 
	 java.util.Date date = new java.util.Date();
	 Date date1 = (Date) date;
	 Date date2 = new Date(date.getTime());
	 java.util.Date date3 = d;
	 
	 Date date4 = Date.valueOf("2019-3-8");
	 
	 
	 
 	}
}

2474-07-03
Exception in thread "main" java.lang.ClassCastException: java.util.Date cannot be cast to java.sql.Date
    at hwd.Dome.main(Dome.java:23)

P7

String--->java.util.Date 类型转换:

分解:

(1)String----》java.sql.Date

(2)java.sql.Date---->java.util.Date

package ten;
 
public class Test04 {
 
	public static void main(String[] args) {
		// TODO Auto-generated method stub
 
		java.sql.Date date = java.sql.Date.valueOf("2015/9-24");
		java.util.Date date2 = date;
		System.out.println(date2.toString());
	
		
	}
 
}

Exception in thread "main" java.lang.IllegalArgumentException
    at java.sql.Date.valueOf(Date.java:143)
    at ten.Test04.main(Test04.java:8)

[2] 引入新的类

【3】 日期格式

 

package ten;
 
import java.util.Date;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
 
public class Test05 {
 
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		
		try{
			Date d = df.parse("2019-4-6 12:23:54");
			System.out.println(d);
		}catch (ParseException e){
			e.printStackTrace();
		}
		
		String format = df.format(new Date());
		System.out.println(format);
		
		
		Date date = new Date();
		System.out.println(date.toString());
		System.out.println(date.toGMTString());
		System.out.println(date.toLocaleString());
 
	}
 
}

Sat Apr 06 12:23:54 CST 2019
2022-05-12 14:33:26
Thu May 12 14:33:26 CST 2022
12 May 2022 06:33:26 GMT
2022-5-12 14:33:26

P8

package ten;
 
import java.util.*;
 
public class Test05 {
 
	public static void main(String[] args) {
	
		Calendar cal = new GregorianCalendar();
		Calendar cal2 = Calendar.getInstance();
		System.out.println(cal);
		
		
		System.out.println(cal.get(Calendar.YEAR));
		System.out.println(cal.get(Calendar.MONTH));
		System.out.println(cal.get(Calendar.DATE));
		System.out.println(cal.get(Calendar.DAY_OF_WEEK));
		System.out.println(cal.getActualMaximum(Calendar.DATE));
		System.out.println(cal.getActualMinimum(Calendar.DATE));
		
		
		
		cal.set(Calendar.YEAR, 1990);
		cal.set(Calendar.MONDAY, 3);
		cal.set(Calendar.DATE, 16);
		System.out.println(cal);
		
		
		java.sql.Date date = java.sql.Date.valueOf("2020-4-5");
		cal.setTime(date);
		System.out.println(cal);
		
	}
 
}

java.util.GregorianCalendar[time=1652338556448,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=31,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2022,MONTH=4,WEEK_OF_YEAR=20,WEEK_OF_MONTH=2,DAY_OF_MONTH=12,DAY_OF_YEAR=132,DAY_OF_WEEK=5,DAY_OF_WEEK_IN_MONTH=2,AM_PM=1,HOUR=2,HOUR_OF_DAY=14,MINUTE=55,SECOND=56,MILLISECOND=448,ZONE_OFFSET=28800000,DST_OFFSET=0]
2022
4
12
5
31
1
java.util.GregorianCalendar[time=?,areFieldsSet=false,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=31,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=1990,MONTH=3,WEEK_OF_YEAR=20,WEEK_OF_MONTH=2,DAY_OF_MONTH=16,DAY_OF_YEAR=132,DAY_OF_WEEK=5,DAY_OF_WEEK_IN_MONTH=2,AM_PM=1,HOUR=2,HOUR_OF_DAY=14,MINUTE=55,SECOND=56,MILLISECOND=448,ZONE_OFFSET=28800000,DST_OFFSET=0]
java.util.GregorianCalendar[time=1586016000000,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=31,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2020,MONTH=3,WEEK_OF_YEAR=15,WEEK_OF_MONTH=2,DAY_OF_MONTH=5,DAY_OF_YEAR=96,DAY_OF_WEEK=1,DAY_OF_WEEK_IN_MONTH=1,AM_PM=0,HOUR=0,HOUR_OF_DAY=0,MINUTE=0,SECOND=0,MILLISECOND=0,ZONE_OFFSET=28800000,DST_OFFSET=0]

P9

P10

package ten;
 
import java.util.*;
 
public class Test05 {
 
	public static void main(String[] args) {
	
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入你想要查看到日期:(提示:请按照例如2012-5-6的格式书写)");
		String strDate = sc.next();
		System.out.println(strDate);
		
		
		java.sql.Date date = java.sql.Date.valueOf("2019-5-18");
		Calendar cal = Calendar.getInstance();
		cal.setTime(date);
		
		System.out.println("日\t一\t三\t四\t五\t六\t");
		
		
		int maxDay = cal.getActualMaximum(Calendar.DATE);
		
		int nowDay = cal.get(Calendar.DATE);
		
		cal.set(Calendar.DATE, 1);
		int num = cal.get(Calendar.DAY_OF_WEEK);
		System.out.println(num);
		
		int day = num - 1;
		
		int count = 0;
		
		for (int i = 1; i <= day; i++){
			System.out.println("\t");
		}
		
		count = count + day;
		
		for (int i = 1; i <= maxDay; i++){
			System.out.println( i + "\t");
			
			if (i == nowDay){
				System.out.println(i + "*" + "\t");
				
			} else{
				System.out.println(i + "\t");
			}
			
			count++;
			if (count%7 == 0){
				System.out.println();
			}
			
		}
		
	}
 
}

 

请输入你想要查看到日期:(提示:请按照例如2012-5-6的格式书写)
1997-1-1
1997-1-1
日	一	三	四	五	六	
4
	
	
	
1	
1	
2	
2	
3	
3	
4	
4	
 
5	
5	
6	
6	
7	
7	
8	
8	
9	
9	
10	
10	
11	
11	
 
12	
12	
13	
13	
14	
14	
15	
15	
16	
16	
17	
17	
18	
18*	
 
19	
19	
20	
20	
21	
21	
22	
22	
23	
23	
24	
24	
25	
25	
 
26	
26	
27	
27	
28	
28	
29	
29	
30	
30	
31	
31	

P11

P12 

package ten;
 
import java.util.*;
import java.time.*;;
 
public class Test05 {
 
	public static void main(String[] args) {
		
		LocalDate localDate = LocalDate.now();
		System.out.println(localDate);
		LocalTime localTime = LocalTime.now();
		System.out.println(localTime);
		LocalDateTime localDateTime = LocalDateTime.now();
		System.out.println(localDateTime);
		
		
		LocalDate of = LocalDate.of(2010, 5, 6);
		System.out.println(of);
		LocalDateTime of2 = LocalDateTime.of(1890, 12, 23, 13 , 24, 15);
		System.out.println(of2);
		
		
		System.out.println(localDateTime.getYear());
		System.out.println(localDateTime.getMonth());
		System.out.println(localDateTime.getMonthValue());
		System.out.println(localDateTime.getDayOfWeek());
		System.out.println(localDateTime.getHour());
		System.out.println(localDateTime.getMinute());
		System.out.println(localDateTime.getSecond());
		
		
		LocalDateTime localDateTime2 = localDateTime.withMonth(8);
		System.out.println(localDateTime);
		System.out.println(localDateTime2);
		
		
		LocalDateTime localDateTime1 = localDateTime.plusMonths(4);
		System.out.println(localDateTime);
		System.out.println(localDateTime1);
		
		
		LocalDateTime localDateTime3 = localDateTime.minusMonths(5);
		System.out.println(localDateTime);
		System.out.println(localDateTime3);
		
		
		
	}
 
}
2022-05-12
18:41:27.786
2022-05-12T18:41:27.786
2010-05-06
1890-12-23T13:24:15
2022
MAY
5
THURSDAY
18
41
27
2022-05-12T18:41:27.786
2022-08-12T18:41:27.786
2022-05-12T18:41:27.786
2022-09-12T18:41:27.786
2022-05-12T18:41:27.786
2021-12-12T18:41:27.786

P13

package ten;
 
import java.util.*;
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.time.format.FormatStyle;
import java.time.temporal.TemporalAccessor;;
 
public class Test05 {
 
	public static void main(String[] args) {
		
 
		DateTimeFormatter df1 = DateTimeFormatter.ISO_DATE_TIME;
		LocalDateTime now = LocalDateTime.now();
		String str = df1.format(now);
		System.out.println(str);
		
		TemporalAccessor parse = df1.parse("2020-06-15T15:02:51.29");
		System.out.println(parse);
		
		
		DateTimeFormatter df2 = DateTimeFormatter.ofLocalizedDate(FormatStyle.LONG);
		
		LocalDateTime now1 = LocalDateTime.now();
		String str2 = df2.format(now1);
		System.out.println(str2);
		
		
		TemporalAccessor parse1 = df2.parse("20-6-15 下午3:18");
		System.out.println(parse1);
		
		
		DateTimeFormatter df3 = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss");
		
		LocalDateTime now2 = LocalDateTime.now();
		String format = df3.format(now2);
		System.out.println(format);
		
		TemporalAccessor parse2 = df3.parse("2020-06-15 03:22:03");
		System.out.println(parse2);
		
	}
 
}

2022-05-12T19:00:40.778
{},ISO resolved to 2020-06-15T15:02:51.290
2022年5月12日
Exception in thread "main" java.time.format.DateTimeParseException: Text '20-6-15 下午3:18' could not be parsed at index 0
    at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1949)
    at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1777)
    at ten.Test05.main(Test05.java:30)

P14

【1】直接使用,无需导包

package java.lang;

【2】final修饰类,这个类不能被继承

public fianl class Math{}

【3】构造器私有化,不能创建Math类的对象

【4】Math内部的所有属性,方法都被static修饰;类名.直接调用,无需创建对象


 【5】常用方法

package ten;
 
import java.math.*;
import java.util.*;
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.time.format.FormatStyle;
import java.time.temporal.TemporalAccessor;;
 
public class Test05 {
 
	public static void main(String[] args) {
		
		System.out.println("随机数:" + Math.random());
		System.out.println("绝对值:" + Math.abs(-80));
		System.out.println("向上取值:" + Math.ceil(9.1));
		System.out.println("向下取值:" + Math.floor(9.9));
		System.out.println("四舍五入:" + Math.round(3.5));
		System.out.println("取大的那个值:" + Math.max(3, 6));
		System.out.println("取小的那个值:" + Math.min(3, 6));
		
		
	}
 
}

 随机数:0.9310780961593298
绝对值:80
向上取值:10.0
向下取值:9.0
四舍五入:4
取大的那个值:6
取小的那个值:3

P15

package ten;
 
import java.util.Random;
import java.math.*;
import java.util.*;
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.time.format.FormatStyle;
import java.time.temporal.TemporalAccessor;;
 
public class Test05 {
 
	public static void main(String[] args) {
		
		System.out.println("随机数" + Math.random());
		
		Random r1 = new Random(System.currentTimeMillis());
		int i = r1.nextInt();
		System.out.println(i);
		
		
		Random r2 = new Random();
		System.out.println(r2.nextInt(10));
		System.out.println(r2.nextDouble());
		
	}
 
}

随机数0.9473141180605916
-1619400695
1
0.5757522028458646

P16

 

P17

package ten;
 
public class Test01 {
 
	public static void main(String[] args) {
		String str = "abc";
		System.out.println(str);
		String str2 = "";
		String s1 = new String();
		String s2 = new String("abc");
		String s3 = new String(new char[]{'a','b','c'});
		
		String s4 = "abc";
		System.out.println("字符串长度是:" + s4.length());
		
		String s5 = new String("abc");
		System.out.println("字符串是否为空:" + s5.isEmpty());
		
		System.out.println("获取字符串的下标对应的字符为:" + s5.charAt(1));
 
	}
 
}

 abc
字符串长度是:3
字符串是否为空:false
获取字符串的下标对应的字符为:b

P18

package ten;
 
public class Test01 {
 
	public static void main(String[] args) {
		String str = "abc";
		System.out.println(str);
		String str2 = "";
		String s1 = new String();
		String s2 = new String("abc");
		String s3 = new String(new char[]{'a','b','c'});
		
		String s4 = "abc";
		System.out.println("字符串长度是:" + s4.length());
		
		String s5 = new String("abc");
		System.out.println("字符串是否为空:" + s5.isEmpty());
		
		System.out.println("获取字符串的下标对应的字符为:" + s5.charAt(1));
		String s6 = new String("abc");
		String s7 = new String("abc");
		System.out.println(s6.equals(s7));
	}
 
}

 abc
字符串长度是:3
字符串是否为空:false
获取字符串的下标对应的字符为:b
true

 P19

 

package ten;
 
public class Test01 {
 
	public static void main(String[] args) {
		String str = "abc";
		System.out.println(str);
		String str2 = "";
		String s1 = new String();
		String s2 = new String("abc");
		String s3 = new String(new char[]{'a','b','c'});
		
		String s4 = "abc";
		System.out.println("字符串长度是:" + s4.length());
		
		String s5 = new String("abc");
		System.out.println("字符串是否为空:" + s5.isEmpty());
		
		System.out.println("获取字符串的下标对应的字符为:" + s5.charAt(1));
		String s6 = new String("abc");
		String s7 = new String("abc");
		System.out.println(s6.equals(s7));
		
		
		String s8 = new String("abc");
		String s9 = new String("accdef");
		System.out.println(s8.compareTo(s9));
	}
 
}

abc
字符串长度是:3
字符串是否为空:false
获取字符串的下标对应的字符为:b
true
-1

P20

package ten;
 
import java.util.Arrays;
 
public class Test01 {
 
	public static void main(String[] args) {
		String str = "abc";
		System.out.println(str);
		String str2 = "";
		String s1 = new String();
		String s2 = new String("abc");
		String s3 = new String(new char[]{'a','b','c'});
		
		String s4 = "abc";
		System.out.println("字符串长度是:" + s4.length());
		
		String s5 = new String("abc");
		System.out.println("字符串是否为空:" + s5.isEmpty());
		
		System.out.println("获取字符串的下标对应的字符为:" + s5.charAt(1));
		String s6 = new String("abc");
		String s7 = new String("abc");
		System.out.println(s6.equals(s7));
		
		
		String s8 = new String("abc");
		String s9 = new String("accdef");
		System.out.println(s8.compareTo(s9));
		
		String s10 = "abcdefhijk";
		System.out.println(s10.substring(3));
		System.out.println(s10.substring(3,6));
		
		
		System.out.println("ppppp");
		
		String s11 = "abcdeahija";
		System.out.println(s11.replace('a', 'u'));
		
		String s12 = "a-b-c-d-e-f";
		String[] strs = s12.split("-");
		System.out.println(Arrays.toString(strs));
		
		
		String s13 = "abc";
		System.out.println(s13.toUpperCase());
		System.out.println(s13.toUpperCase().toLowerCase());
		
		
		String s14 = "    a  b  c     ";
		System.out.println(s14.trim());
		
		String s15 = "abc";
		System.out.println(s15.toString());
		
		System.out.println(String.valueOf(false));
	}
 
}

abc
字符串长度是:3
字符串是否为空:false
获取字符串的下标对应的字符为:b
true
-1
defhijk
def
ppppp
ubcdeuhiju
[a, b, c, d, e, f]
ABC
abc
a  b  c
abc
false

P21

package ten;
 
public class Tset02 {
 
	public static void main(String[] args) {
		String s1 = "a" + "b" + "c";
		String s2 = "ab" + "c";
		String s3 = "a" + "bc";
		String s4 = "abc";
		String s5 = "abc" + "";
		System.out.println(s1 == s4);
		System.out.println(s2 == s5);
		
		String s6 = new String("abc");
 
	}
 
}

 true
true

package ten;
 
public class Test03 {
 
	public static void main(String[] args) {
		String a = "abc";
		String b = a + "def";
		System.out.println(b);
 
	}
 
}

abcdef
 

P22

 

package ten;
 
import java.util.Arrays;
 
public class Test01 {
 
	public static void main(String[] args) {
 
		StringBuilder sb3 = new StringBuilder();
		StringBuilder sb2 = new StringBuilder(3);
		StringBuilder sb = new StringBuilder("abc");
	}
 
}

P23

package ten;
 
import java.util.Arrays;
 
public class Test01 {
 
	public static void main(String[] args) {
 
		StringBuilder sb3 = new StringBuilder();
		StringBuilder sb2 = new StringBuilder(3);
		StringBuilder sb = new StringBuilder("abc");
		sb.append("def").append("aaaaaaa").append("bbb").append("oooooo");
		System.out.println(sb.append("def").append("aaaaaaa").append("bbb").append("oooooo").toString());
	}
 
}

abcdefaaaaaaabbboooooodefaaaaaaabbboooooo
 

P24

 

package ten;
 
public class Tset02 {
 
	public static void main(String[] args) {
 
		StringBuilder sb = new StringBuilder();
		System.out.println(sb.append("abc") == sb.append("def"));
 
	}
 
}

true
 

P25

P26 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
用来完成大作业的。文档内容: 1 Java技术体系 1.1 Java语言 1.2 Java平台 1.3 Java应用领域 2 Java语言的技术特点 2.1 1 2.2 2 2.3 3 3 Java语言与C++的异同分析总结。 4 选用C和java语言时编程算法程序有什么不同,有什么优势和劣势。 5 自己编程学习的级别和状态。以及自己以后的编程学习的计划和想法。 6 下面3道题目中选一道,给出算法分析和程序。 1)“黄金分割数”在我们的生活中很常见,但是在不同的应用领域,要求的精度也不一样。 例如:三位小数是0.618 现在我们需要你能求出保留100位小数的黄金分割数,采用的算法为“分层计算法”: 黄金数= 1 --------------- 1+ 1 ------------- 1+ 1 ----------- 1+ 1 --------- ..... 注意,计算出的结果,如果第100位为0也需要保留。 2)已知一个数列: 5,2,4,3,7,6 那么,在这个数列中存在这样一些“连续数”,例如:5,2,4,3这个子数列排序后是连续的。同样2,4,3也是连续的,为了方便表示 我们使用下标来标识,这样,这个数列中存在以下“连续数”: [1,1] [1,4] [1,6] [2,2] [2,4] [3,3] [3,4] [4,4] [5,5] [5,6] [6,6] 这样,他就存在11个“连续数”。现在需要你在用户找出一个数组中所有的“连续数”。 要求: 1、用户输入一个整数N,表示下面数组的个数 2、用户每输入一行作为一个数组 如: 用户输入: 1 5,2,4,3,7,6 程序输出: 11 3)有一种数我们称之为幸运数,它的特点是这样的,首先,由自然数按顺序排列: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 … 这样,1比较特殊, 1为第一个幸运数,那么,我们移除掉序号能被2整除的数(注意:是序号,而不是数本身,每次移除后都重新排序)就剩下: 1 3 5 7 9 11 13 15 17 19… 3为第二个幸运数,那么我们需要去掉序号能被3(下一次是除4,然后是5,每次加1)整除的数,5 11 17...剩下: 1 3 7 9 13 15 19… 那么7为第三个幸运数,后面的幸运数,依此类推,移除之后剩下的数字都是幸运数。 现在我们需要你求出给定的m和n之间的幸运数的个数: 例如:给定1 20,那么个数为:5(5个幸运数分别是1,3,7,13,19) 现在要求用户输入两个数m和n(m<n<=1000*1000),输出幸运数的个数。 例如: 用户输入: 1 20 程序输出: 5 格式:小四,1.5倍行距

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值