首页
畅所欲言
友情链接
壁纸大全
数据统计
推荐
工具箱
在线白板
Search
1
职教云小助手重构更新,职教云助手最新版下载地址【已和谐】
13,374 阅读
2
职教云-智慧职教,网课观看分析(秒刷网课)
10,986 阅读
3
gradle-5.4.1-all.zip下载
8,877 阅读
4
职教云-智慧职教,签到补签分析(逆天改命系列)
7,835 阅读
5
一个优秀的程序员从写文档开始:免费领14个月语雀云笔记会员
6,874 阅读
学习笔记
Web
Python
转载文章
算法刷题
JS逆向
综合笔记
安卓
物联网
Java
C
资源收集
软件收藏
网络资源
影视专辑
TED英语角
随便写写
随手拍
登录
/
注册
Search
Lan
累计撰写
624
篇文章
累计收到
617
条评论
首页
栏目
学习笔记
Web
Python
转载文章
算法刷题
JS逆向
综合笔记
安卓
物联网
Java
C
资源收集
软件收藏
网络资源
影视专辑
TED英语角
随便写写
随手拍
页面
畅所欲言
友情链接
壁纸大全
数据统计
推荐
工具箱
在线白板
搜索到
624
篇与
的结果
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日
529 阅读
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日
592 阅读
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日
609 阅读
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日
625 阅读
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日
897 阅读
0 评论
1 点赞
2020-03-15
python pip国内镜像安装方法以及pycharm换源
1.更换源pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple2.升级源python -m pip install --upgrade pip在线安装pip install 模块名如果网络不好可以使用国内镜像, pip install xx -i http://xxx 国内的几个常用镜像地址:豆瓣 : https://pypi.douban.com/simple中国科学科技大学 : https://mirrors.ustc.edu.cn/pypi/web/simple/清华大学 :https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/离线安装下载好压缩包 ->解压 -> 在解压目录的当前文件夹下,打开终端python setup.py install.whl文件安装 :pip install xxx.whlPycharm换源
2020年03月15日
1,197 阅读
0 评论
0 点赞
2020-03-15
Python 操作配置文件
Python 标准库的 ConfigParser 模块提供了一套完整的 API 来读取和操作配置文件。文件格式配置文件中包含一个或多个 section,每个 section 都有自己的 option;section 用 [sect_name] 表示,每个 option 是一个键值对,使用分隔符 = 或者 : 隔开;在 option 分隔符两端的空格会被忽略掉;配置文件使用 # 注释;示例配置文件 dbconf.cfg;[dbconfig]# 数据库读库链接信息host=127.0.0.1user=root passwd=root database=banma_finance port=3306示例配置文件 book.info[book]# 标题title: Core Pythonversion: 2016009021[hardcopy]pages:350操作配置文件配置文件的读取1 实例化 ConfigParser# 实例化 CoinfigParser 并加载配置文件 # 实例化 dbconf 的解析器 db_config_parser = ConfigParser.SafeConfigParser() db_config_parser.read('dbconf.cfg') # 实例化 book_info 的解析器 book_info_parser = ConfigParser.SafeConfigParser() book_info_parser.read('book.info')2 读取文件节点信息# 获取 section 信息 print db_config_parser.sections() print book_info_parser.sections() # 打印书籍的大写名称 print string.upper(book_info_parser.get("book","title")) print "by", book_info_parser.get("book","author") # 格式化输出 dbconf 中的配置信息 for section in db_config_parser.sections(): print section for option in db_config_parser.options(section): print " ", option,"=",db_config_parser.get(section,option)输出结果:['dbconfig']['book', 'hardcopy']CORE PYTHONby Jack dbconfig host = 127.0.0.1 user = root passwd = root database = banma_finance port = 3306配置文件的写入配置文件的写入与配置文件的读取方式基本一致,都是先操作对应的section,然后在 section 下面写入对应的 option;# !/usr/bin/python # coding:utf-8 import ConfigParser sys # 初始化 ConfigParserconfig_writer = ConfigParser.ConfigParser() # 添加 book 节点 config_writer.add_section("book") # book 节点添加 title,author 配置 config_writer.set("book","title","Python: The Hard Way") config_writer.set("book","author","anon") # 添加 ematter 节点和 pages 配置 config_writer.add_section("ematter") config_writer.set("ematter","pages",250) # 将配置信息输出到标准输出 config_writer.write(sys.stdout) # 将配置文件输出到文件 config_writer.write(open('new_book.info','w'))输出结果:[book]title = Python: The Hard Wayauthor = anon[ematter]pages = 250配置文件的更新配置文件的更新操作,可以说是读取和写入的复合操作。如果没有最终的 write 操作,对于配置文件的读写都不会真正改变配置文件信息。# !/usr/bin/python# coding:utf-8import ConfigParserimport sysreload(sys)sys.setdefaultencoding('UTF-8')# 初始化 ConfigParserupdate_config_parser = ConfigParser.ConfigParser()update_config_parser.read('new_book.info')print "section 信息:",update_config_parser.sections()# 更新作者名称print "原作者:",update_config_parser.get("book","author")# 更改作者姓名为 Jackupdate_config_parser.set("book","author","Jack")print "更改后作者名称:",update_config_parser.get("book","author")# 如果 ematter 节点存在,则删除if update_config_parser.has_section("ematter"): update_config_parser.remove_section("ematter")# 输出信息update_config_parser.write(sys.stdout)# 覆盖原配置文件信息update_config_parser.write(open('new_book.info','w'))
2020年03月15日
727 阅读
0 评论
0 点赞
1
...
83
84
85
...
90