首页
畅所欲言
友情链接
壁纸大全
数据统计
推荐
工具箱
在线白板
Search
1
职教云小助手重构更新,职教云助手最新版下载地址【已和谐】
13,307 阅读
2
职教云-智慧职教,网课观看分析(秒刷网课)
10,905 阅读
3
gradle-5.4.1-all.zip下载
8,831 阅读
4
职教云-智慧职教,签到补签分析(逆天改命系列)
7,817 阅读
5
一个优秀的程序员从写文档开始:免费领14个月语雀云笔记会员
6,866 阅读
学习笔记
Web
Python
转载文章
算法刷题
JS逆向
综合笔记
安卓
物联网
Java
C
资源收集
软件收藏
网络资源
影视专辑
TED英语角
随便写写
随手拍
登录
/
注册
Search
Lan
累计撰写
623
篇文章
累计收到
612
条评论
首页
栏目
学习笔记
Web
Python
转载文章
算法刷题
JS逆向
综合笔记
安卓
物联网
Java
C
资源收集
软件收藏
网络资源
影视专辑
TED英语角
随便写写
随手拍
页面
畅所欲言
友情链接
壁纸大全
数据统计
推荐
工具箱
在线白板
搜索到
448
篇与
的结果
2020-03-16
Java中printf的用法总结
printf的格式控制的完整格式: % - 0 m.n l或h 格式字符 下面对组成格式说明的各项加以说明: ①%:表示格式说明的起始符号,不可缺少。 ②-:有-表示左对齐输出,如省略表示右对齐输出。 ③0:有0表示指定空位填0,如省略表示指定空位不填。 ④m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。N指精度。用于说明输出的实型数的小数位数。为指定n时,隐含的精度为n=6位。 ⑤l或h:l对整型指long型,对实型指double型。h用于将整型的格式字符修正为short型。 ------------------------------------格式字符 格式字符用以指定输出项的数据类型和输出格式。 ①d格式:用来输出十进制整数。有以下几种用法: %d:按整型数据的实际长度输出。 %md:m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。 %ld:输出长整型数据。 ②o格式:以无符号八进制形式输出整数。对长整型可以用"%lo"格式输出。同样也可以指定字段宽度用“%mo”格式输出。 ③x格式:以无符号十六进制形式输出整数。对长整型可以用"%lx"格式输出。同样也可以指定字段宽度用"%mx"格式输出。 ④u格式:以无符号十进制形式输出整数。对长整型可以用"%lu"格式输出。同样也可以指定字段宽度用“%mu”格式输出。 //不可使用 //在实践中没有运行出来。⑤c格式:输出一个字符。 ⑥s格式:用来输出一个串。有几中用法 %s:例如:printf("%s", "CHINA")输出"CHINA"字符串(不包括双引号)。 %ms:输出的字符串占m列,如字符串本身长度大于m,则突破获m的限制,将字符串全部输出。若串长小于m,则左补空格。 %-ms:如果串长小于m,则在m列范围内,字符串向左靠,右补空格。 %m.ns:输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。 %-m.ns:其中m、n含义同上,n个字符输出在m列范围的左侧,右补空格。如果n>m,则自动取n值,即保证n个字符正常输出。 ⑦f格式:用来输出实数(包括单、双精度),以小数形式输出。有以下几种用法: %f:不指定宽度,整数部分全部输出并输出6位小数。 %m.nf:输出共占m列,其中有n位小数,如数值宽度小于m左端补空格。 %-m.nf:输出共占n列,其中有n位小数,如数值宽度小于m右端补空格。 ⑧e格式:以指数形式输出实数。可用以下形式://在实践中没有运行出来。 %e:数字部分(又称尾数)输出6位小数,指数部分占5位或4位。 %m.ne和%-m.ne:m、n和”-”字符含义与前相同。此处n指数据的数字部分的小数位数,m表示整个输出数据所占的宽度。 ⑨g格式:自动选f格式或e格式中较短的一种输出,且不输出无意义的零。 //在实践中没有运行出来。 ------------------------------------关于printf函数的进一步说明: 如果想输出字符"%",则应该在“格式控制”字符串中用连续两个%表示,如: printf("%f%%", 1.0/3);输出0.333333%。 ------------------------------------对于单精度数,使用%f格式符输出时,仅前7位是有效数字,小数6位. 对于双精度数,使用%lf格式符输出时,前16位是有效数字,小数6位. ###################################### 对于m.n的格式还可以用如下方法表示(例) char ch[20]; printf("%*.*s ",m,n,ch);前边的*定义的是总的宽度,后边的定义的是输出的个数。分别对应外面的参数m和n 。我想这种方法的好处是可以在语句之外对参数m和n赋值,从而控制输出格式。 -------------------------------------------------------------------------将所输出字符串的长度值赋绐一个变量, 见下例: int slen; printf("hello world%n", &slen);执行后变量被赋值为11。 代码部分:public class printf { public static void main(String[] args) { //定义一些变量,用来“格式化”输出。 double a=848.234;//double型无法强制类型转换为String型, float d=(float) a; String b="nihao"; int c=111; char e='.'; System.out.print("输出字符:"); System.out.printf("%c",e);//"%c"输出一个字符。 System.out.println(); //“%”表示进行格式化输出,“%”之后的内容为格式化的定义。 System.out.println("单精度浮点型:"+d);/*单精度浮点型占32位存储空间,在一些 处理器上比双精度更快而且只占用双精度一般的空间,但是当值很大或很小的时候,它 将变得不准确*/ System.out.println("双精度型:"+a);/*双精度型占64位存储空间,在一些现代化的 被优化用来进行高速数学计算的处理器上比单精度的快,当需要保持多次反复迭代计算 的准确性时,或在操作值很大的数字时,双精度是最好的选择。*/ System.out.print("格式化输出浮点数:"); System.out.printf("%f",a);//格式化输出浮点数。 System.out.println(); System.out.print("输出长度为9,小数点后两位的值:"); System.out.printf("%9.2f",a);/*“9.2”中的9表示输出的长度,2表示小数点后的 位数,其中标点符号也占一位*/ System.out.println(); System.out.print("输出长度为9,小数点后两位的值:"); System.out.printf("%9.2f000000",a);//指定位置填0 System.out.println(); System.out.print("输出长度为9,小数点后两位,带正负号的值:"); System.out.printf("%+9.2f",a);//“+”表示输出的数带正负号。 System.out.println(); System.out.print("输出长度为9,小数点后两位,左对齐(默认为右对齐)的值:"); System.out.printf("%-9.2f",a);//“-”表示输出的数左对齐(默认为右对齐)。 System.out.println(); System.out.print("输出长度为9,小数点后两位,带符号,左对齐(默认为右对齐)的值:"); System.out.printf("%+-9.2f",a);//“+-”表示输出的数左对齐(默认为右对齐)。 //不能用指数形式输出 System.out.println(); System.out.print("输出十进制整数:"); System.out.printf("%d",c);//“%d”表示输出十进制整数。 System.out.println(); System.out.print("输出宽度为10的十进制整数:"); System.out.printf("%10d",c);/*“%md”表示输出宽度为m的十进制整数,如果数据 的位数小于m,则左端补以空格,若大于m,则按实际位数输出。其他进制数也可以这样*/ System.out.println(); System.out.print("输出长整型数据:"); System.out.printf("%1d",c);//“%1d”表示输出长整型数据,前面的是数字1。 System.out.println(); System.out.print("输出八进制整数:"); System.out.printf("%o",c);//“%o”表示输出八进制整数。//"%u"输出十进制形式无法使用。 System.out.println(); System.out.print("输出带有八进制标志的整数:"); System.out.printf("%#o",c);//“%#o”表示输出带有八进制标志的整数。标志是数字0 System.out.println(); System.out.print("输出十六进制整数:"); System.out.printf("%x",c);//“%x”表示输出八进制整数。 System.out.println(); System.out.print("输出带有十六进制标志的整数:"); System.out.printf("%#x",c);//“%#x”表示输出带有十六进制标志的整数标志,标志第一位是数字0。 //printf不能用于输出二进制,可以用如下方式输出二进制 System.out.println("十进制转换为二进制:"+Integer.toBinaryString(c)); //这种方法也可以输出八进制,十六进制,分别如下,但不可以将其他进制转换为十进制 System.out.println("十进制转换为八进制:"+Integer.toOctalString(c)); System.out.println("十进制转换为十六进制:"+Integer.toHexString(c)); //下面的方法只适用于将其他进制转换为十进制 System.out.println("输出一个二进制数的十进制表示:"+Integer.valueOf("111001",2)); System.out.println("输出一个八进制数的十进制表示:"+Integer.valueOf("111001",8)); System.out.println("输出一个十六进制数的十进制表示:"+Integer.valueOf("111001",16)); System.out.print("输出字符串:"); System.out.printf("%s",b);//"%s"表示输出字符串,当输出的为字符串时,“%s”可以省去。 System.out.println(); System.out.print("输出占m列的字符串:"); System.out.printf("%13s",b);/*"%ms"表示输出的字符串占m列,如字符串本身长度大于m,则输出 原字符串;如果串长小与m,则左补空格*/ System.out.println(); System.out.print("输出占m列的右对齐的字符串:"); System.out.printf("%-13s",b);/*-表示字符串右对齐*/ System.out.println(); System.out.print("输出占m列,但只取字符串中左端n个字符的的字符串:"); System.out.printf("%13.3s",b);/*"%m.n"表示输出占m列,但只取字符串中左端n个字符,右对齐*/ System.out.println(); System.out.print("输出占m列,但只取字符串中左端n个字符的右对齐的字符串:"); System.out.printf("%-13.3s",b);/*-表示字符串右对齐*/ System.out.println(); System.out.printf("输出一个浮点数: %f,一个字符串: %s,一个整数: %d",a,b,c); //可以输出多个变量,但一定要注意顺序不要漏掉逗号 System.out.println(); System.out.printf("字符串:%2$s,%3$d的十六进制数:%3$#x,双精度%1$1f的单精度浮点型表示:%1$f",a,b,c); //双精度的格式输出为数字1加f,"X$表示第几个变量,指的是这一行后面给出的变量的第几个。 } }
2020年03月16日
1,085 阅读
0 评论
0 点赞
2020-03-16
试题 算法提高 三角形面积
资源限制时间限制:1.0s 内存限制:256.0MB问题描述 由三角形的三边长,求其面积。 提示:由三角形的三边a,b,c求面积可以用如下的公式: s=(a+b+c)/2 面积=输入格式 由空格分开的三个整数。输出格式 一个实数,保留两位小数。样例输入3 4 5样例输出6.00数据规模和约定 输入的三条边一定能构成三角形,不用进行判定。a,b,c小于1000import java.text.DecimalFormat; import java.lang.*; import java.util.*; public class sanjiaoxings { /** * @param args * 试题 算法提高 三角形面积 */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); DecimalFormat df = new DecimalFormat("0.00"); double a =sc.nextDouble(); double b =sc.nextDouble(); double c =sc.nextDouble(); double s =(a+b+c)/2; System.out.printf("%.2f",Math.sqrt(s * ( s-a) * ( s - b ) * ( s-c))); } }printf用法链接:printf的用法
2020年03月16日
546 阅读
0 评论
0 点赞
2020-03-16
试题 算法提高 判断回文
资源限制时间限制:1.0s 内存限制:512.0MB 编程判断一个字符串是否是回文,当字符串是回文时,输出字符串:yes!,否则输出字符串:no!。所谓回文即正向与反向的拼写都一样,如adgda。 长度在100以内,且全为小写字母样例输入adgda样例输出yes!import java.util.*; public class panduanhuiwen { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); //输入字符串 String str = sc.next(); //声明变量x为第一位字符,y为最后一位字符 int x=0,y=str.length()-1; //默认为回文 boolean result =true; //循环判断,如有一个不相等则退出 for (int i = 0; i < str.length(); i++) { char a =str.charAt(x); char b =str.charAt(y); if (a==b) { x++; y--; }else { result =false; break; } } //根据result判断输出 if (result==false) { System.out.println("no!"); }else { System.out.println("yes!"); } } }
2020年03月16日
522 阅读
0 评论
0 点赞
2020-03-15
试题 算法提高 勾股数
资源限制时间限制:1.0s 内存限制:256.0MB问题描述 勾股数是一组三个自然数,a < b < c,以这三个数为三角形的三条边能够形成一个直角三角形 输出所有a + b + c <= 1000的勾股数 a小的先输出;a相同的,b小的先输出。输出格式 每行为一组勾股数,用空格隔开样例输出例如,结果的前三行应当是3 4 55 12 136 8 10import java.util.Arrays; public class gougushu { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub int[] list=new int[3]; for (int i = 1; i < 1000; i++) { for (int j = i; j < 1000; j++) { for (int k = j; k < 1000; k++) { if (i+j+k<=1000 && i*i+j*j==k*k) { System.out.println(i+" "+j+" "+" "+k); } } } } } }
2020年03月15日
588 阅读
0 评论
0 点赞
2020-03-15
试题 算法提高 冒泡法排序
资源限制时间限制:1.0s 内存限制:512.0MB 输入10个数,用“冒泡法”对10个数排序(由小到大)这10个数字在100以内。样例输入1 3 6 8 2 7 9 0 4 5样例输出0 1 2 3 4 5 6 7 8 9import java.util.*; public class maopaopaixu { /** * @param args * 试题 算法提高 冒泡法排序 */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); int[] list= new int [10]; for (int i = 0; i < 10; i++) { list[i]=sc.nextInt(); } int temp=0; for (int i = 1; i < 10; i++) { for (int j = 0; j < 10-i; j++) { if (list[j]>list[j+1]) { //大小判断交换,如需调换顺序只需改>为< temp = list[j]; list[j] = list[j+1]; list[j+1]=temp; } } } for (int i = 0; i < list.length; i++) { System.out.print(list[i]+" "); } } }
2020年03月15日
605 阅读
0 评论
0 点赞
2020-03-15
JavaScript学习笔记
1..什么是JavaScript? 客户端的解释性脚本语言.与Java之间不存在任何关系;2.JavaScript的语法结构,声明与引入 <script type="text/javascript">...</script> <script type="text/javascript" src="JS文件路径及名称"></script>内部JS直接在标签<script></script>中填写,外部导入<script src="外部js路径"></script> 第一步:创建JS文件并且写入相关的代码; 第二步:在网页文件内调用相关的JS文件; 说明: A.JS严格区分大小写; B.每行JS代码必须以分号结尾;(现在虽然可以不写,但是怕以后过度到全部用,以防万一) C.JavaScript文件的扩展名为.js <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>js的声明和引入</title> <script> alert("这是我的第一个js"); /*js的声明方式1 在head标签进行js代码域的声明 只会作用于当前页面*/ </script> <script src ="59-my.js" type="text/javascript"> /*src属性引入外部js代码 代码可重用,避免代码冗余*/ console.log(3,5)); </script> </head> <body> </body> </html> 外部59-my.js alert("这是外部声明的js"); function add(x,y){ return x+y; }3.JS中的变量:JavaScript 变量是存储数据值的容器。 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>js中的变量</title> <script type="text/javascript"> var a = 1; var b = "c"; var c; alert(typeof(a)); alert(typeof(new Date())); if(c){ alert(c); } function add(x,y){ alert(x+y); } for(var i = 1; i < 9;i++){ for(var j = 1; j <= i;j++){ document.write("i*j"+"="+i*j+" "); } document.write("<br />"); } </script> </head> <body> <input type="button" name="" id="" value="" onclick="add()"/> <label for=""> 点击这里调用add函数 </label> </body> </html>4.JS中的数据类型 字符型(string),数值型(number),布尔型(boolean),未定义(undefined),null(空对象),function(自定义函数), 对象(object),属性与方法的集合体; { propert:value, ...., method:function([parameter,...]){ ... ... } } <!DOCTYPE html> <!--p31 20分钟--> <html> <head> <meta charset="UTF-8"> <title>js中自定义对象</title> <!--应该有哪些属性 应用: Ajax中会使用 使用: 1.创建自定义对象 var 对象名 = new Object(); 对象名.属性名1 = 属性值1;... 2.一般用来存储数据,不会再自定义对象中存储对象。 3.js中的对象属性是可以自定义的可扩充的,不是依赖于类的声明的,类只是对象公共部分的一种声明,是为了减少代码冗余 --> <script type="text/javascript"> //1.创建自定义对象 var obj = new Object(); obj.name = "jason"; obj.age = 18; obj.test = function(){ alert(obj.name); } obj.test(); </script> </head> <body> </body> </html> <!DOCTYPE html> <html> <head> <!-- js中类的"继承" : prototype关键字 通过prototype关键字实现了不同对象之间的数据共享 作用1:实现某个类的所有子类对象的方法区对象的共享,节省内存; 作用2: --> <meta charset="UTF-8"> <title>js中类和对象</title> <script type="text/javascript"> var date = new Date(); console.log(date.getHours()+":"+date.getMinutes()+":"+date.getSeconds()) //创建类Person 和 User function Person(name,age){ this.name = name; this.age = age; this.fav = "唱歌"; } function User(uname,pwd){ this.uname = name; this.pwd = pwd; } //使用prototype Person.prototype.test = function(){ alert("prototype关键字实现数据共享!!!"); } Person.prototype.user = new User(); User.prototype.testU = function(){ alert("User中的testU"); } //使用类 var p1 = new Person("小李","18"); alert(p1.name); alert(p1.test()); p1.user.testU(); </script> </head> <body> </body> </html>5.window对象<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>js中window对象的学习</title> <!-- 1.框体方法 1.alert 没有返回值 2.confirm 警告框 确认返回true 取消返回false 3.prompt 输入框 返回输入的值 否则 返回null 2.定时和间隔执行方法 setTimeout: 指定的时间后执行指定的函数 参数1:函数对象 参数2:时间,单位毫秒 setInterval : 没间隔指定的事件执行指定的函数 参数1:函数对象 参数2:时间,单位毫秒 clearTimeout 停止当前的定时方法 参数,定时器的id clearInterval 用来停止指定的时间间隔 参数,间隔器的id --> <script type="text/javascript"> //弹窗 警告框 输入框 function testAlert(){ window.alert("测试alert"); } function testConfirm(){ var a = window.confirm("确定要删除吗??"); console.log(a); } function testPrompt(){ var a = window.prompt("请输入昵称:"); console.log(a); } //声明全局变量id,为了停止定时执行 var id,ids; //测试定时执行 function testSetTimeout(){ id = window.setTimeout(function(){ alert("三秒后执行弹窗!!!"); },3000); } //间隔执行 function testSetInterval(){ ids = window.setInterval(function(){ alert("我是间隔执行!!!每三秒弹一次"); },2000); } //停止定时 function testClearTimeout(){ window.clearTimeout(id); } function testClearinterval(){ window.clearInterval(ids); } </script> </head> <body> <input type="button" name="" id="" value="测试警告框" onclick="testConfirm()"/><br /> <input type="button" name="" id="" value="测试输入框" onclick="testPrompt()"/><br /> <hr /> <input type="button" name="" id="" value="测试setTimeg定时执行" onclick="testSetTimeout()"/><br /> <input type="button" name="" id="" value="测试setInterval间隔执行" onclick="testSetInterval()"/><br /> <input type="button" name="" id="" value="测试clearTimeout--停止指定的定时器" onclick="testClearTimeout()"/><br /> <input type="button" name="" id="" value="测试clearInterval--停止间隔执行的定时器" onclick="testClearinterval()" /> </html> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>js中window对象学习2</title> <!-- js的window对象学习 1.子窗口方法 window.open("子页面的相路径","打开方式","属性") 示例:window.open("59-js-测试用的son子页面.html","newwindow","height=400,width=600,top=0,left=0,toolbar=no,menubar=no,scrollbar =no,resizable=no,location=no,status=no"); 注意:关闭子页面的方法window.close() 只能关闭打开的子页面 2.子页面调用父页面的函数 window.opener.父页面的函数 js的window对象的常用属性 地址栏属性: location window.location.href = "新的资源路径(相对路径/URL)"; window.location.reload() 重新加载资源页面 历史记录属性:history window.history.forward() 页面资源前景,历史记录的前进 window.history.back() 页面资源后退,历史记录后退 window.history.go(index) 跳转到指定的历史记录资源 -3 -2 -1 负数 0 正数 后退到第几个 当前页面=刷新 1-2-3 当前页面的前第几个 屏幕属性:screen window.screen.width window.screen.height 两个结合获取屏幕分辨率 浏览器配置属性:navigator window.navigator.UserAgent 主题面板属性 --> <script type="text/javascript"> //1.子页面的方法 function testOpen(){ window.open("59-js-测试用的son子页面.html","newwindow","height=400,width=600,top=0,left=0,toolbar=no,menubar=no,scrollbar =no,resizable=no,location=no,status=no"); } //子页面调用父页面的函数 function testUseFather(){ alert("父页面的方法!!!不知为什么会调用失败!!!"); } //1.地址栏属性学习 --- location function testLocation(){ window.location.href = "https://www.baidu.com"; } function testLocation2(){ window.location.reload(); } //2.历史记录属性 function testHistory(){ window.history.forward(); } //3.屏幕属性学习 function testScreen(){ var x = window.screen.width; var y = window.screen.height; alert("x:"+x +" y:"+y); } //浏览器配置属性 function testNavigtor(){ alert(window.navigator.userAgent); } </script> </head> <body> <input type="button" name="" id="" value="测试open,打开子页面" onclick="testOpen()"/> <br /> <hr /> <input type="button" name="" id="" value="测试地址栏属性--location--跳转资源" onclick="testLocation()"/><br /> <input type="button" name="" id="" value="测试地址栏属性--location--重新加载资源" onclick="testLocation2()"/> <hr /> <br /> <input type="button" name="" id="" value="测试历史记录--history--前进(bakc同理,go下标)" onclick="testHistory();"/> <hr /> <br /> <input type="button" name="" id="" value="测试屏幕属性--screen" onclick="testScreen();"/> <hr /> <br /> <input type="button" name="" id="" value="测试浏览器配置属性--navigator" onclick="testNavigtor()"/> </body> </html> 6.DOM对象<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>document对象学习</title> <!-- 1.document 对象的概念 浏览器对外提供的支持js的用来操作HTML文档的一个对象,此对象封存的HTML文档的所有信息 2.使用document 获取HTML元素对象 直接获取方式 通过id 通过name属性值 通过标签名 通过class属性值 操作HTML对象的属性 操作HTML元素对象的内容和样式 操作HTML的文档结构 document操作Form元素 document操作表格 document对象实现form表单的校验 --> <script type="text/javascript"> //document获取元素对象 //1.直接获取方式 function testGetElementById(){ var inp = document.getElementById("uname"); alert(inp); } function testGetElementsByName(){ alert(document.getElementsByName("uname1").length); } function testGetElementsByTagName(){ var inps = document.getElementsByTagName("input"); alert(inps.length); } function testGetElementsByClassName(){ var inp1 = document.getElementsByClassName("uname"); alert(inp1); } //2.间接获取方式 //父子关系 function testParentGetChilds(){ //获取父级元素对象 var parentEle = document.getElementById("showdiv"); //获取所有的子元素对象群组 var childs = parentEle.childNodes; alert(childs.length); //有换行所以会增加很多 } //子父关系 function testChildGetParent(){ alert(document.getElementById("inp").parentNode); } //兄弟关系 function testBrother(){ //注意有回车换行 var preEle = document.getElementById("inp").previousSibling; //弟获取兄 var nextEle = document.getElementById("inp").nextSibling; //兄获取弟 alert(preEle + ":::" + nextEle) } </script> <style type="text/css"> .common{} #showdiv{ border: solid 1px red; width: 400px; height: 500px; } </style> </head> <body> <h3>document 对象的概念和获取元素对象学习</h3> 直接获取: <hr /><br /> <input type="text" name="uname" id="uname" value="测试获取HTML元素对象---getElementById('id值')" onclick="testGetElementById()" style="width: 400px;"/><br /> <input type="text" name="uname1" id="uname1" value="测试获取HTML元素对象---getElementByName('name值')" onclick="testGetElementsByName()" style="width: 400px;"/><br /> <input type="text" name="uname2" id="uname2" value="测试获取HTML元素对象---getElementsByTagName('标签名')" onclick="testGetElementsByTagName()" style="width: 400px;"/><br /> <input type="text" name="uname3" id="uname3" value="测试获取HTML元素对象---getElementsByClassName('标签名')" onclick="testGetElementsByClassName()" style="width: 400px;"/><br /> <br /> <input type="checkbox" name="" id="" value="复选框" class="common"/> <br /> 间接获取:<br /> <input type="button" name="" id="" value="获取所有子元素--父子关系" onclick="testParentGetChilds()"/><br /> <input type="button" name="" id="" value="获取父元素--子父关系" onclick="testChildGetParent()"/><br /> <input type="button" name="" id="" value="获取兄弟元素--兄弟关系" onclick="testBrother()"/><br /> <div id="showdiv"> <input type="" name="" id="" value="" /> <input type="" name="" id="inp" value="" /> <input type="" name="" id="" value="" /> <input type="" name="" id="" value="" /> <input type="" name="" id="" value="" /> <input type="" name="" id="" value="" /> </div> </body> </html>7.JS操作元素 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>js操作HTML的元素属性</title> <!-- js 操作HTML元素属性学习 获取元素对象 操作元素属性 获取: ①元素对象.属性值 // 返回当前属性的属性值 ②元素对象.getAttribute("属性名") 修改 元素对象.属性名 = 属性值 元素对象.setAttribute("属性名","属性值") 注意: 尽量不要去修改id 和 name 属性值 使用固有方法获取value值是默认值,不能获取到实时的值 --> <script type="text/javascript"> //获取 修改 function testField(){ //获取元素对象 var inp = document.getElementById("uname"); alert(inp.value); //修改属性 inp.value = "修改后的属性"; inp.type = "button"; } //getArrtibute("属性名") 和 setAttribute("属性名","属性值") function testGetAndSet(){ alert(document.getElementById("uname").getAttribute("type")); document.getElementById("uname").setAttribute("abc","测试getAttribute()和setAttribute()"); alert(document.getElementById("uname").getAttribute("abc")); } </script> </head> <body> <h3> js操作HTML的元素属性 </h3> <input type="button" name="" id="" value="元素对象.属性名获取元素属性" onclick="testField()"/> <input type="button" name="" id="" value="getAttribute()和setAttribute()" onclick="testGetAndSet()"/> <hr /> 用户名:<input type="text" name="uname" id="uname" value="先存放的12" /> </body> </html> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>js操作元素内容</title> <!-- 操作元素内容 获取元素对象 获取 对象元素.innerHTML ==>当前元素的所有内容,包括标签 对象元素.innerText ==>当前元素的文本内容,不包括标签 修改: 对象元素.innerHTML = "新的值"; ==>HTML标签会被解析且覆盖新的值 对象元素.innerHTML = 对象元素.innerHTML+"新的值"; ==>HTML标签会被解析且追加到末尾 对象名.innerText = "新的值"; ==>HTML标签不会被解析且覆盖新的值 对象元素.innerText = 对象元素。innerTEXT+"新的值"; ==>HTML标签不会被解析且追加新的值 --> <script type="text/javascript"> //获取元素内容 function getContext(){ //获取对象及其内容 alert(document.getElementById("div01").innerHTML); alert(document.getElementById("div01").innerText); } //修改元素内容 function updateContext1(){ var div = document.getElementById("div01"); div.innerHTML = div.innerHTML + "<br />测试文本3"; } function updateContext2(){ var div = document.getElementById("div01"); div.innerText = div.innerText + "<br />测试文本3"; } </script> <style type="text/css"> #div01{ width:400px; height: 500px; } </style> </head> <body> <h3>js操作元素内容学习</h3> <input type="button" name="" id="" value="获取元素内容--innerHTML" onclick="getContext()"/> <input type="button" name="" id="" value="修改元素内容--innerHTML" onclick ="updateContext2()" /> <hr /> <div id="div01"> 测试文本1, 测试文本2。 </div> </body> </html> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>js操作元素的文档</title> <!-- js操作HTML文档结构 增加节点 删除节点 第一种方式: 使用innerHTML: div.innerHTML = div.innerHTML + "内容"; //增加节点 div.innerHTML = ""; //删除所有节点 父节点.removeChild(子节点对象); //删除指定的子节点 == 不适合table 第二种方式:见操作文档结构2 获取元素对象 var obj = document.createElement("标签名"); obj.属性名="新值"; 最后记得追加 ===》元素对象.appendChild(obj); 删除同上: 父节点.removeChild(子节点对象); --> <script type="text/javascript"> //innerHTML添加节点 function testAdd(){ var divEle = document.getElementById("showdiv"); divEle.innerHTML = divEle.innerHTML + "<div><input type='file' name='' value='选择文件'/><input type='button' name='' id='' value='删除' onclick='testDelete(this)' /></div>"; } //删除按钮 function testDelete(btn){ //获取父级div var showdiv = document.getElementById("showdiv"); //获取要删除的子div var parentDiv = btn.parentNode; //父div删除子div showdiv.removeChild(parentDiv); } </script> </head> <body> <h3>js操作元素的文档结构</h3> <input type="button" name="" id="" value="继续上传" onclick="testAdd()" /> <br /><hr /> <div id="showdiv"> <input type="file" name="" value="选择文件"/><input type='button' name='' id='' value='删除' onclick="testDelete(this);"/> </div> </body> </html> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>js操作元素的文档结构2</title> <script type="text/javascript"> function testOpera(){ //获取元素对象 var showdiv = document.getElementById("showdiv"); //创建input元素对象 var inp = document.createElement("input"); inp.type = "file"; //创建input元素对象 var btn = document.createElement("input"); btn.type = "button"; btn.value = "删除"; //onclick也是属性 btn.onclick=function(){ showdiv.removeChild(inp); showdiv.removeChild(btn); showdiv.removeChild(br); } //创建换行符 var br = document.createElement("br"); //将创建的元素存放到div中 showdiv.appendChild(inp); showdiv.appendChild(btn); showdiv.appendChild(br); } </script> </head> <body> <h3>js操作文档的结构2</h3> <input type="button" name="" id="" value="继续上传" onclick="testOpera()" /> <br /><hr /> <div id="showdiv"> </div> </body> </html> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>js操作元素的样式</title> <!-- js操作元素样式 获取元素对象 1.通过style属性 元素对象.style.样式名="样式值"; //添加或者修改样式 元素对象.style.样式名=""; //删除样式 注意:以上操作,操作的是HTML的style属性声明中的样式,而不是其他css代码中的样式 2.通过className 元素对象.className = "新的值"; 添加或者修改类选择器 元素对象.className = ""; 删除类样式 --> <script type="text/javascript"> //js操作样式--style 添加 修改 删除 元素样式 function testChangeCss(){ var showdiv = document.getElementById("showdiv"); //添加样式的两种方法 //showdiv.style = "background-color:green"; //这种写法或者下面的写法 showdiv.style.backgroundColor = "#FF0000"; //修改样式 showdiv.style.border = "solid 2px #00FF00"; //删除样式 showdiv.style.width= ""; } //js操作样式 -- className function testOperaCss(){ var div01 = document.getElementById("div01"); //获取 alert(div01.className); //添加 或者 修改 div01.className = "common2"; // //删除 // div01.className = ""; } </script> <style type="text/css"> #showdiv{ width:400px; height: 500px; } .common{ width:400px; height: 500px; border: 1px solid red; } .common2{ width:400px; height: 500px; border: 1px solid red; background-color: aqua; } </style> </head> <body> <h3>js操作元素的样式</h3> <input type="button" name="" id="" value="style增删改样式" onclick="testChangeCss()"/> <input type="button" name="" id="" value="通过class修改样式" onclick="testOperaCss()"/> <br /><hr /> <div id="showdiv"> </div> <div id="div01" class="common"> </div> </body> </html>8.JS操作表格<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>操作表格</title> <!-- js 操作表格 1.删除行 行对象.rowIndex //返回行对象的下标 表格对象.deleteRow(行对象.rowIndex ) --> <!--js代码区域--> <script type="text/javascript"> //删除行 function deleteTr(btn){ //获取表格对象 var table = document.getElementById("bookTable"); //获取要删除的行对象 var tr = btn.parentNode.parentNode; //删除 table.deleteRow(tr.rowIndex); } //修改表格 function updateRow(btn){ //获取父节点的父节点 ==>行对象 var tr = btn.parentNode.parentNode; //获取需要修改的单元格 var cell = tr.cells[4] if(!isNaN(Number(cell.innerHTML))){ //修改单元格 cell.innerHTML = "<input type='text' value='" +cell.innerHTML +"' onblur='updateRow2(this)'/>"; }; } //失去焦点修改值 function updateRow2(inpText){ //获取父节点的父节点 ==>行对象 var tr = inpText.parentNode.parentNode; //获取需要修改的单元格 var cell = tr.cells[4] //失去焦点将值赋给单元格 cell.innerHTML = inpText.value; } </script> <style type="text/css"> #bookTable tr{ height: 35px; } body{ text-align: center; } </style> </head> <body> <h3 align="center">js操作表格</h3> <input type="button" name="" id="" value="添加行" /> <input type="button" name="" id="" value="删除行" disabled="disabled"/> <input type="button" name="" id="" value="复制行" disabled="disabled"/> <br /><hr /> <table id = "bookTable" border="2px" cellspacing="1px" cellpadding="3px" align="center"> <tr align="center" style="font-weight: bold;"> <td><input type = "checkbox" name = "chk" id = "chk" onclick="" /></td> <td width = "200px;">书名</td> <td width = "100px;">作者</td> <td width = "100px;">价格</td> <td width = "100px;">数量</td> <td width = "200px;">操作</td> </tr> <tr> <td><input type = "checkbox" name = "chkd" id = "chkd" onclick="" /></td> <td>Thinking in Java</td> <td>jason</td> <td>99.45</td> <td id="cell">30</td> <td> <input type="button" name="" id="" value="修改数量" onclick="updateRow(this)"/> <input type="button" name="" id="" value="删除" onclick="deleteTr(this)"/> </td> </tr> <tr> <td><input type = "checkbox" name = "chkd" id = "chkd" onclick="" /></td> <td>Java Web 开发详解</td> <td>孙鑫</td> <td>1000</td> <td>1</td> <td> <input type="button" name="" id="" value="修改数量" onclick="updateRow(this)"/> <input type="button" name="" id="" value="删除" onclick="deleteTr(this)"s/> </td> </tr> <tr> <td><input type = "checkbox" name = "chkd" id = "chkd" onclick="" /></td> <td>JSP应用开发详解</td> <td>电子工业出版社</td> <td>34</td> <td>90</td> <td> <input type="button" name="" id="" value="修改数量" onclick="updateRow(this)"/> <input type="button" name="" id="" value="删除" onclick="deleteTr(this)"/> </td> </tr> </table> <h1 style="color:red">上面的功能 和 复选框暂时没写</h1> </body> </html>9.JS操作form表单<!DOCTYPE html> <!--p43 开头--> <html> <head> <meta charset="UTF-8"> <title>js操作form表单</title> <!-- js操作form表单 1.获取form表单对象 使用id 或者 表单的name属性 2.获取form下的所有表单元素对象集合 fm.elements 3.form 表单的常用方法 表单对象.submit(); //提交表单数据 4.form 的属性的操作 表单对象.action = "新的值"; //动态改变数据提交路径 表单对象.method = "新的值"; //动态的改变提交方式 5.表单元素的通用属性 只读模式 readonly 只读会提交 关闭模式 disable 禁用不提交 --> <script type="text/javascript"> function testForm(){ //获取form表单对象 var fm = document.getElementById("fm"); //使用form表单的name属性值来获取form表单对象==》form特殊,其他不行 var frm = document.frm; //===>获取的结果和上面完全一样 // alert(frm===fm); //获取form表元素对象集合 // alert(fm.elements.length); //form 表单的常用方法 // fm.submit(); //提交,很重要 fm.reset(); //重置 //form表单的属性操作 fm.action="https://www.baidu.com/s"; } </script> </head> <body> <h3>js操作form表单</h3> <input type="button" name="" id="" value="测试js操作form" onclick="testForm()"/> <br /><hr /> <form action="#" method="get" id="fm" name="frm"> <b>用户名</b>: <input type="texf" name="wd" id="uname" value="" /><br /><br /> 密码:<input type="password" name="pwd" id="pwd" value="" /><br /><br /> <input type="text" name="只读会提交" id="" value="只读" readonly="readonly" /><br /> <input type="text" name="关闭不提交" id="" value="禁用" disabled="disabled" /><br /> <input type="submit" name="" id="" value="登录"/> </form> </body> </html> 10.JS中的事件机制<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>js的事件机制学习1</title> <!-- 解释:当一位满足一定的条件后,会触发某类事务的执行 作用:主要结合js的函数来使用 一个事件可以添加多个监听时间,已 ; 分开 内容: 1.单双机事件 单击:onclick 双击:ondblclick 2.鼠标事件 onmousemove 鼠标停在 onmouseover 鼠标移动 onmouseout 鼠标移出 3.键盘事件 onkeyup 键盘弹起 onkeydown 键盘按下 4.焦点事件 onblur onfocus 5.页面加载事件 onload 注意: js中添加事件的第一种方式:直接添加监听函数 js的事件只在当前HTML元素有效 --> <script type="text/javascript"> //单击事件 function testOnclick(){ alert("单击事件!!"); } //双击事件 function testOndblclick(){ alert("双击事件!!!"); } //鼠标事件 function testOnmouseover(){ alert("我是鼠标悬停事件!!!"); } //鼠标移动 function testOnmousemove(){ alert("我被移动了!!!"); } //移出区域 function testOnmouseout(){ alert("被移出了!!"); } //键盘事件 function testOnkeyup(){ alert("我是键盘弹起事件!!!"); } function testOnkeydown(){ alert("我是键盘下压事件!!!"); } //焦点事件 function testonfocus(){ document.getElementById("showDiv1").innerHTML= "<br/>获取焦点"; // alert("获取焦点事件"); } function testOnblur(){ alert("失去焦点事件!!!"); } //页面加载 function testOnload(){ alert("我是页面加载事件!!!"); } </script> <style> #showDiv1{ width: 200px; height: 200px; border: solid 2px; background: border-box; } </style> </head> <body onload="testOnload()"> <h2>js事件机制的学习1</h2> <input type="button" name="" id="" value="测试单击" onclick="testOnclick()"/> <input type="button" name="" id="" value="测试双击" ondblclick="testOndblclick()" /> testOnload(); <br /> <br /> <br /> <div id = "showDiv1" onmouseover="testOnmouseover();" onmousemove="testOnmousemove();" onmouseout="testOnmouseout()"></div> <br /><hr /> 键盘事件学习 键盘弹起事件:<input type="text" name="" id="" value="" onkeyup="testOnkeyup()"/><br /> 键盘下压事件: <input type="text" name="" id="" value="" onkeydown="testOnkeydown()"/> <hr /> 焦点事件学习: 获取焦点:<input type="text" name="" id="" value="" onfocus="testonfocus()"/> <br /> 失去焦点:<input type="text" name="" id="" value="" onblur="testOnblur()"/> </body> </html> <script type="text/javascript"> testOnload(); </script> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>js事件机制学习2</title> <!-- 1.给合适的HTML标签加上合适的事件 1.onchange --- select下拉选 2.onload ---body 3.鼠标键盘 ==>比如登录注册时 2.给HTML添加多个事件时,注意事件的冲突 3.事件的阻断 当事件监听的函数将返回值给事件时:false阻断,true则继续 4.超链接调用js函数 <a href="javascript:函数()"></a> --> <script type="text/javascript"> //值改变事件 function testOnchange(btn){ // alert(document.getElementById(btn).value); alert("改变了!!!"); } //事件冲突 function testOnclick(){ alert("单击事件!!!"); } function testOndblclick(){ alert("双击事件!!!"); } //事件的阻断!!! function testBreak(){ alert("事件的阻断!!"); return false; } //超链接调用js函数 function testHref(){ alert("这是超链接调用js函数!!!"); } </script> </head> <body> 值改变事件:<input type="text" name="" id="inp1" value="" onchange="testOnchange(this);"/> <br /> <br /> <select name="" id="sel1" onchange="testOnchange(this);"> <option value="">北京</option> <option value="">上海</option> <option value="">赣州</option> <option value="">深圳</option> </select> <hr /> 事件的冲突:<br /> <input type="button" name="" id="" value="事件的冲突事件" onclick="testOnclick()" ondblclick="testOndblclick()"/> <br /> 事件的阻断: <a href="https://www.baidu.com/" target="_blank" onclick="return testBreak()" >点击打开百度</a> <br /> 超链接调用js函数 <a href="javascript:testHref()">超链接调用js函数!!!</a> </body> </html>11.JS中的正则表达式<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>js中的正则表达式</title> <script type="text/javascript"> //$1反向引用 var str = "a1898989b2c3d4"; str = str.replace(/(d+)/g,'<span style="color:red">$1</span>') document.write("<br>"+str) str = str.replace(/(d+)/g,'<span style="color:red">1</span>') document.write("<br>"+str) var date = "12/25/2018" //用一条语句将其输出成"2018-12-25" date1 = date.replace(/(d{1,})/(d{1,})/(d{4})/,'$3-$1-$2') document.write("<br>"+date1) </script> </head> <body> </body> </html>
2020年03月15日
620 阅读
0 评论
2 点赞
2020-03-15
java求质数的4种方法
第一种:双重for循环 使除数与被除数个个计算,效率极低public void test1(int n){ long start = System.currentTimeMillis(); //取开始时间 int num=0; boolean sign; for(int i=2;i<n;i++){ if(i % 2 == 0 && i != 2 ) continue; //偶数和1排除 sign=true; for (int j=2;j<i;j++){ if(i%j==0){ sign=false; break; } } if (sign){ num++; /* System.out.println(""+i);*/ } } System.out.println(n+"以内的素数有"+num+"个"); long end = System.currentTimeMillis(); System.out.println("The time cost is " + (end - start)); System.out.println(""); }第二种:主要考虑2 ~ i/2之间的数 ,效率比第一种提高一半public void test2(int n){ long start = System.currentTimeMillis(); //取开始时间 int num=0; int j; boolean sgin; for (int i = 2; i <= n; i++) { if(i % 2 == 0 && i != 2 ) continue; //偶数和1排除 sgin = true; for (j = 2; j <= i/2 ; j++) { if (i % j == 0) { sgin= false; break; } } //打印 if (sgin) { num++; /* System.out.println(""+i);*/ } } System.out.println(n+"以内的素数有"+num+"个"); long end = System.currentTimeMillis(); System.out.println("The time cost is " + (end - start)); System.out.println(""); }第三种:使用开方去过滤 Math.sqrt(i)public void test3(int n){ long start = System.currentTimeMillis(); //取开始时间 int num=0; int j; boolean sgin; for (int i = 2; i <= n; i++) { if(i % 2 == 0 && i != 2 ) continue; //偶数和1排除 sgin= true; for (j = 2; j <= Math.sqrt(i) ; j++) { if (i % j == 0) { sgin = false; break; } } //打印 if (sgin) { num++; /* System.out.println(""+i);*/ } } System.out.println(n+"以内的素数有"+num+"个"); long end = System.currentTimeMillis(); System.out.println("The time cost is " + (end - start)); System.out.println(""); }第四种:逆向思维筛选质素,最为高效 public void test4(int n){ long start = System.currentTimeMillis(); //取开始时间 //素数总和 int sum = 0; //1000万以内的所有素数 //用数组将1000万以内的数分为两大派系,素数用0代替数值,合数用1代替数值; //一开始默认全部为素数,所以值全部为0,等到开始筛选的时候再把为合数的赋值为1 int num[] = new int[n]; num[0] = 1; //由于1规定不是素数,所以要提前用1标值 //根据埃氏筛法的结论,要得到自然数 N 以内的全部素数,必须把不大于" 二次根号 N "的所有素数的倍数剔除,剩下的就是素数 double prescription = Math.sqrt(n); for (int i = 2; i <= prescription; i++) { //开始把所有素数的倍数剔除,剩下的就是素数 for (int j = i*i; j <= n; j+=i) { //从i*i开始去除,因为比i*i小的倍数,已经在前面去除过了 //例如:i=5 //5的2倍(10),3倍(15),在i=2的时候,已经去除过了 num[j-1] = 1; //把素数的倍数剔除,也就是赋值为1,不是素数就是合数 } } //遍历数组,把值为0的数全部统计出来,得到素数之和 for (int i = 0; i < num.length; i++) { if(num[i]==0) sum++; } System.out.println(n+"以内的素数有"+sum+"个"); long end = System.currentTimeMillis(); System.out.println("The time cost is " + (end - start)); System.out.println(""); }
2020年03月15日
890 阅读
0 评论
1 点赞
1
...
58
59
60
...
64