wndr4300从dd-wrt刷回原厂固件的方法

wndr4300从dd-wrt刷回原厂固件的方法
wndr4300从dd-wrt刷回原厂固件的方法

Wndr4300 从dd-wrt刷回原厂固件的方法

1.下载ubuntu,使用虚拟机或U盘制作引导系统,进入ubuntu,选择使用ubuntu。

2.运行terminal,安装tftp,命令是:sudo apt-get install tftp-hpa 或者在软件中心搜索tftp,安装tftp-hpa。

3.固件保存在home下;

4.路由器接通电源,进入tftp模式:接通电源后,一直按reset按钮,直到绿灯闪烁。

5.网络disable无线,打开有线。

6.终端terminal依次输入

sudo ifconfig eth0 192.168.1.2

sudo arp -s 192.168.11.1 02:AA:BB:CC:DD:20 #必需是这个mac地址,可加冒号也可不加。cd到固件的目录,如在home下,则是cd /home/ubuntu

继续输入tftp 192.168.1.1

进入tftp模式

依次输入

tftp> verbose

tftp> binary

tftp> trace

tftp> rexmt 1

tftp> timeout 60

tftp> connect 192.168.1.1

tftp> put xxxx.bin #xxxx表示固件名称。

然后传输完毕等待重启即可。

练习题—方法和方法的重载

一.选择题 1.下列方法定义中,正确的是( )。 A)int x( int a,b ) { return (a-b); } B)double x( int a,int b) { int w; w=a-b; } C)double x( a,b ) { return b; } D)nt x( int a,int b) { return a-b; } 2.下列方法定义中,正确的是( )。 A)void x( int a,int b ); { return (a-b); } B)x( int a,int b) { return a-b; } C)double x { return b; } D)int x( int a,int b) { return a+b; } 3.下列方法定义中,不正确的是( )。 A)float x( int a,int b ) { return (a-b); } B)int x( int a,int b) { return a-b; } C)int x( int a,int b ) { return a*b; } D)int x(int a,int b) { return 1.2*(a+b); } 4.下列方法定义中,正确的是( )。 A)int x( ){ char ch='a'; return (int)ch; } B)void x( ){ ...return true; } C)int x( ){ ...return true; } D)nt x( int a, b){ return a+b; } 5.下列方法定义中,方法头不正确的是( )。 A)public int x( ){ ... } B)public static int x( double y ){ ... } C)void x( double d ) { ... } D)public static x( double a ){ ... } 6.在某个类中存在一个方法:void getSort(int x),以下能作为这个方法的重载的声明的是( )。 A)public getSort(float x) B)int getSort(int y) C)double getSort(int x,int y) D)void get(int x,int y) 7.在某个类中存在一个方法:void sort(int x),以下不能作为这个方法的重载的声明的是( )。 A)public float sort(float x) B)int sort(int y) C)double sort(int x,int y) D)void sort(double y) 8.为了区分类中重载的同名的不同方法,要求( )。 A)采用不同的形式参数列表B)返回值类型不同 C)调用时用类名或对象名做前缀D)参数名不同

C# 方法重载

c#方法重载 2008-11-14 14:27 首先我们说一下什么是方法重载。在面对对象这样的高级语言中都允许我们在一个类中定义多个方法名相同、方法间参数个数和参数顺序不同的方法,对于参数个数不同或者参数列表不同的情况我们称之为参数列表不同。需要注意的是这里没有提到方法的返回值。也就是决定方法是否构成重载有两个条件: (1)在同一个类中; (2)方法名相同; (3)参数列表不同。 例如下面的代码: 1. public void Show()//(1) 2. { 3. Console.WriteLine("Nothing"); 4. } 5. 6. public void Show(int number)//(2) 7. { 8. Console.WriteLine(number); 9. } 10. /* 11. public int Show(int number)//(3) 12. { 13. Console.WriteLine(number); 14. return number % 5; 15. } 16. */ 对于上面的代码,(1)没有参数,(2)使用了一个int类型的参数,(1)和(2)之间就构成了重载。(2)与(3)相比仅仅返回值不同,虽然重载不关心返回值的不同,但是在C#中不允许存在方法名和参数列表相同、返回值不同的方法,所以(2)和(3)不能同时存在于代码中,(3)如果不注释掉上面的代码是没有办法通过编译的。 上面我们仅仅讨论了重载的一些基本常识,下面我们探讨一下一些情况稍微复杂的重载情况。 首先我们看第一个版本: https://www.360docs.net/doc/475266574.html,ing System; https://www.360docs.net/doc/475266574.html,ing System.Collections.Generic; https://www.360docs.net/doc/475266574.html,ing System.Text; 4. https://www.360docs.net/doc/475266574.html,space OverrideDemo 6.{ 7. ///

8. /// 说明:本实例用于讲述重载的关系 9. /// 作者:周公 10. /// 日期:2008-09-04 11. /// 首发地址:https://www.360docs.net/doc/475266574.html,/zhoufoxcn 12. ///

C++重载运算符的几类使用方法

1.非运算符重载实现复数的加法运算//非运算符重载实现复数的加法运算 //complex.h #include #ifndef COMPLEX_H #define COMPLEX_H class complex { public: complex(); doublegetreal(); doublegetimag(); voidsetreal(double); voidsetimag(double); void display(); private: double real; double image; }; #endif //complex.cpp #include #include"complex.h" complex::complex() { real = 0; image = 0; } void complex::setreal(double r) { real = r; } void complex::setimag(double i) { image = i; } double complex::getreal() { return real; }

double complex::getimag() { return image; } void complex::display() { cout<<"the result is\n"< #include"complex.h" complex add(complex comp1,complex comp2); complex sub(complex comp1,complex comp2); void main() { complex c1,c2,c3,c4; c1.setreal(2.0); c1.setimag(3.0); c2.setreal(1.0); c2.setimag(4.0); c3 = add(c1,c2); cout<<"c3 = c1 + c2 , "; c3.display(); c4 = sub(c1,c2); cout<<"c4 = c1 - c2 ,"; c4.display(); } complex add(complex comp1,complex comp2) { complex temp; temp.setreal(comp1.getreal() + comp2.getreal()); temp.setimag(comp1.getimag() + comp2.getimag()); return temp; } complex sub(complex comp1,complex comp2) { complex temp; temp.setreal(comp1.getreal() - comp2.getreal()); temp.setimag(comp1.getimag() - comp2.getimag()); return temp; } 2.运算符重载作为类的成员函数 //运算符重载作为类的成员函数

实验五 方法的重载和静态成员

实验五方法的重载和静态成员 【实验目的】 1.巩固掌握构造方法的作用和定义; 2.掌握方法重载的意义和实现方式; 3.掌握静态成员的使用方法。 【实验准备】 复习配套教材相关章节的内容; 【实验内容】 项目一: 1.定义一个游戏中Hero 英雄的类,在该类中定义英雄的名字,生命值和等级 3 个属性,定义一个无参构造方法完成对名字、生命值和等级的初始化,分 别赋初值为“无名英雄”、100和1。同时实现名字和英雄信息的输出。 public class Hero { String name; int healthPower = 100; int grade; public Hero() { https://www.360docs.net/doc/475266574.html, ="无名英雄"; this.healthPower = 100; this.grade=1; } void showInfo() { System.out.println("——英雄信息——"); System.out.println("名字:" + https://www.360docs.net/doc/475266574.html,); System.out.println("生命值:" + this.healthPower); System.out.println("类型:" + this.grade); } }

2.在上一步的基础上,为英雄再定义拥有一个参数的构造方法,第一个参数传 入英雄的名字,第二个参数传入一个英雄类型的值,如果为1,则为普通英雄,生命值为100;如果该值为2,则为高级英雄,生命值初始化为200;如果该值为3,则为超级英雄,生命值初始化为300。 Public Hero(String name, int grade) { https://www.360docs.net/doc/475266574.html, = name; if (grade == 3) { this.healthPower = 300; this.grade = 3; } else if (grade == 2) { this.healthPower = 200; this.grade = 2; } else { this.healthPower = 100; this.grade = 1; } } 3.为英雄添加一个基本战斗的方法,该方法拥有一个英雄类型的参数,当传入 另一个英雄时,能降低对方10点血。再增加一个绝招战斗的重载方法,加入一个绝招类型参数,通过输入不同绝招参数,降低对方不同的血量(这里简化为:1,多杀伤3点血,2,多杀伤6点血,3,多杀伤10点血)。 void fight(Hero opponent) { opponent.healthPower -= 10; } void fight(Hero opponent, int skill) { opponent.healthPower -= 10; if (skill == 3) { opponent.healthPower -= 10; } else if (skill == 2) { opponent.healthPower -= 6; } else if (skill == 1) { opponent.healthPower -= 3; } } 4.在主类的主方法中编写代码,测试。 public static void main(String[] args) { // TODO code application logic here

覆盖和重载的区别与举例

java中覆盖和重载的区别与举例 override可以翻译为覆盖,它是覆盖了一个方法并且对其重写,以求达到不同的作用。对我们来说最熟悉的覆盖就是对接口方法的实现,在接口中一般只是对方法进行了声明,而我们在实现时,就需要实现接口声明的所有方法。除了这个典型的用法以外,我们在继承中也可能会在子类覆盖父类中的方法。在覆盖要注意以下的几点: 1、覆盖的方法的标志必须要和被覆盖的方法的标志完全匹配,才能达到覆盖的效果; 2、覆盖的方法的返回值必须和被覆盖的方法的返回一致; 3、覆盖的方法所抛出的异常必须和被覆盖方法的所抛出的异常一致,或者是其子类; 4、被覆盖的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行覆盖。overload对我们来说可能比较熟悉,可以翻译为重载,它是指我们可以定义一些名称相同的方法,通过定义不同的输入参数来区分这些方法,然后再调用时,VM就会根据不同的参数样式,来选择合适的方法执行。在使用重载要注意以下的几点: 1、在使用重载时只能通过不同的参数样式。例如,不同的参数类型,不同的参数个数,不同的参数顺序(当然,同一方法内的几个参数类型必须不一样,例如可以是fun(int, float),但是不能为fun(int, int)); 2、不能通过访问权限、返回类型、抛出的异常进行重载; 3、方法的异常类型和数目不会对重载造成影响; 4、对于继承来说,如果某一方法在父类中是访问权限是priavte,那么就不能在子类对其进行重载,如果定义的话,也只是定义了一个新方法,而不会达到重载的效果 class A { protected int method1(int a, int b) { return 0; } } public class B extends A{ public int method1(int a, int b) { return 0; } //正确,重写父类方法,可以扩大访问权限 //private int method1(int a, int b) { return 0; } //错误,重写父类方法,不能降低了访问权限 //private long method1(int a, int b) { return 0; } //错误,重写父类方法,不能改变返回值类型 public short method1(int a, long b) { return 0; }//正确,重载自身的方法,可以有不同的访问权限和返回值类型 private int method1(int a, long b) { return 0; }//正确,重载自身的方法,可以有不同的访问权限和返回值类型}

Java 方法重载学习

1. 方法的重载 通过定义JiSuan这个方法,实现求三个整数的和,两个整数的和,两个小数的和 public class HelloWorld { public static void main(String[] args) { //求两个整数的和,三个整数的和,两个小数的和,三个小数的和 //如果不用方法的重载,写的方法个数多。另外就是调用的时候,需要根据不同的方法去调用。 int sum=JiSuan(3,4,5); System.out.println(sum); int s=JiSuan(3,4); System.out.println(s); double ss=JiSuan(0.33,0.54); System.out.println(ss); } public static int JiSuan(int a,int b,int c) { int sum=a+b+c;//方法的重载是方法名一样,但是:参数的个数不一样,或者参数的类型不一样。 return sum;//实现的是三个整数数据相加的和} public static int JiSuan(int a,int b) {

int sum=a+b;//实现的是两个整数数据相加的和 return sum; } public static double JiSuan(double a,double b) { double sum=a+b;//实现的是两个小数数据相加的和 return sum; } } 2.定义Print方法,打印一行5个星号 public class HelloWorld { public static void main(String[] args) { Print(); Print(); } public static void Print() { System.out.println("*****"); } }

Java实验3方法和重载

实验3 方法和重载 一、实验目的: 1、学习创建和使用Java方法。 2、学习掌握重载方法。 二、实验任务: 1. 使用Java SDK建立一个标准Java程序,学习创建和使用方法、掌握 向方法传递参数。实现一个方法,接受用户从键盘输入的10个整数,比较并输出其中的最大值和最小值。要求程序能对非法数据进行处理。 2. 学习掌握重载方法。程序要求:创建3个重载的max方法,第一个返 回两个整型参数中较大的一个;第二个返回两个双精度浮点数中较大的一个;第三个返回三个整数中最大的一个。 3. 实现一个方法,求满足1+2!+3!+…+n!<=9999的最大整数n。 三、实验步骤: 任务2参考代码 public class TestMethodOverloading { public static void main(String[] args) { System.out.println("The maximum between 3 and 4 is " + max(3, 4)); System.out.println("The maximum between 3.0 and 5.4 is " + max(3.0, 5.4)); System.out.println("The maximum between 3.0, 5.4, and 10.14 is " + max(3.0, 5.4, 10.14)); } static int max(int num1, int num2) { if (num1 > num2) return num1; else return num2; } static double max(double num1, double num2) { if (num1 > num2) return num1;

万吨重载列车办法

重载、组合列车管理办法 一、万吨重载列车行车组织办法 (一)列车种类 大秦线、北同蒲线及相关线路开行的重载列车有单元和组合两种,单元列车为车辆固定编组,循环使用,机车为动力集中重联牵引;组合列车由指定的机车车辆混编组成。 (二)机车牵引类型、重量 机车类型为DJ1、SS4、8K、HXD1、HXD2,牵引重量为万吨,具体重量和机车运用以及机车匹配根据运输组织的需要,在调度日班计划中确定。 (三)车辆运用 单元列车使用C63、C76、C80、C64等型车辆固定编组,循环使用;组合列车原则上也应固定编组,特殊情况可混编。具体编组形式为: 1.单元列车 (1)105辆C76或C80型车辆编组列车。 (2)120辆C63型车辆编组列车。 (3)110辆C64(C62)型车辆编组列车。 2.组合列车 (1)最高辆数为240,车型为C80。 (2) C61Y与其它车型编组须编入列车前部。 (四)车辆技术检查 1.重载单元、组合列车车辆技术检查,时间为60min。 2.重载列车技检作业布局及质量保证区段按现行普通列车有

关规定执行。对已进行过列检技术作业的列车,在其质量保证区段内遇中途组合、分解继续开行时,只进行简略试验。 3.列车在安太堡、安家岭、店坪、大新、怀仁、柳村南(一场)站及云冈支线各站开车前,列车尾部制动软管压力应达到580kPa,其他车站开车前应达到550kPa。 4.万吨始发站(装车点)技检后经湖东站开往秦皇岛方面的直通货物列车,车次贯通,在原车次前冠以“T”读“通”,加“T”的列车(C63、C76、C80编组)在湖东二场不做技检作业,质量保证到终到站。 (五)调度指挥 重载列车(单元、组合)的开行要在日(班)计划中明确。 万吨重载单元列车车次重车为71002/1-71198/7,空车方向为72002/1-72198/7。组合列车开行车次为:在最前列基本车次前冠以“H”,读音为“合”。组合列车分解后恢复开行基本车次。列车调度员对万吨重载列车及前行、续行列车的编组、运行,特别是在设备限制区间运行情况重点掌握。 (六)列车相关标志 1.在列车运行区段沿线设置接触网双机合电标。合电标距分相绝缘器外沿70m。 2.在具备列车停留、作业条件的车站(含装、卸车点)设置万吨列车停车标。 3.在区间线路上施工使用移动减速信号防护,须在减速地段终端根据列车长度设置“万吨列车减速防护地段终端信号牌”,“万吨列车减速防护地段终端信号牌”为带“W”字的移动减速信号牌昼间与夜间均为反光膜绿底黑字圆牌(在原有绿色圆牌内增加“W”

相关主题
相关文档
最新文档