哪位大神有最新网站能帮我解释下面的代码?

12:57 提问
请各位大神,帮我重点解释下if条件语句里是什么意思? 然后再解释下这段代码,非常感激
请各位大神,帮我重点解释下if条件语句里是什么意思?
然后再解释下这段代码,非常感激
private Map yearM
private String curyear = "";
public String getList() throws Exception {
if ("".equals(curyear)) {
curyear = "1";
guangGaoTouRuJiLuList = dao.getList(TrainingOrCompetitionID, curyear);
sCKTGLList = scktglDao.getList(TrainingOrCompetitionID);
cPYFSZList = cpyfszDao.getList(TrainingOrCompetitionID);
super.getRequest().setAttribute("sCKTGLList", sCKTGLList);
super.getRequest().setAttribute("cPYFSZList", cPYFSZList);
yearMap = Common.getYearMap();
return SUCCESS;
按赞数排序
如果单是if判断,那就是判断curyear是否为空,如果为空,把字符串"1"赋值给curyear
if表示如果,("".equals(curyear))意思是如果“”等于curyear,就执行语句curyear=1,如果不等于就不执行。super.getRequest().setAttribute()
用来存储信息的
首先定义两个私有的变量,一个集合类型的yearmap年份集合,一个字符串类型的现在的现在年份的curyear。。。额说的这么清楚我多不好意思再说下去了。。
哼哼,一本正经脸o(╯□╰)o。
然后是一个返回字符串的得到列表的getlist方法(并整体抛出异常),当当当~~你说的if语句来了,如果当前年份curyear的值为空,则把1赋给curyear。
下面,就你给的代码看,应该是调用dao层中的 通过培训或者比赛的id(trainingorcompetitionID) 和 当前年份curyear 来得到相关列表的方法getlist,将得到的列表赋给另一个变量‘广告投入记录列表’...guanggaotourujilulist,然后还是调用scktglDao层的通过trainingorcompetitionID得到list的getlist()方法,将得到的列表赋给一个新变量scktglist,cpyfszlist同理。
再下面,向父类方法request中加入两个属性“sCKTGLList”和“cPYFSZList”,并依次赋值“scktglist”和“cpyfszlis”;
然后调用Common类中的(得到年的集合)getYearMap()方法,将方法的返回值赋给定义好的私有变量
最后返回string类型的success变量。
方法到此结束!
就是如果curyear还为“”时,curyear="1" ?
代码不全,有些变量是干嘛用的都不知道
if条件语句是一个布尔值,如果是true就执行if里面的语句,如果是false就执行else里面的语句
这个大意应该是获得训练或者比赛的ID列表,可能用到了socket或者消息传递,这里面的类应该都是在别的地方定义的
如果curyear是空字符串,curyear = “1”
164关注|653收录
7879关注|1483收录
531关注|261收录
其他相似问题谁能帮我讲解一下下面的代码???求大神帮忙!!!_百度知道
谁能帮我讲解一下下面的代码???求大神帮忙!!!
sa[6]=' printf(&0'i++) {
sa[i]=ch-i;A'
return (sa);6;i&; char *;}char *strcon(char ch){ static char sa[10]; ps=strcon(s),ps);\%s \,s=&#39main(){ char *strcon(char ch); for(i=0;n&quot
我有更好的答案
;window1&;//字符串变量config累加
&#39:window.htm&quot.showModelessDialog只是打开对话窗;//scrollbars=定义一个叫openwindow的函数,点按钮的时候就是调用这个函数 { var config= &#39,&&#47,resizable=no.open(&menubar=no,status=, &#39, '/字符串变量config累加
&#39,'&#47.htm&quotfunction openwindow() &#47,config),height=50&#39.showModelessDialog(&quot,他有很多参数;directories=&#47。直接使用window,不要参数;;;width=200;///,location=window1;&#47,就像你定义的config字符串那样/);打开新窗口 window.open是打开新窗口;window1;打开对话窗
注意;定义字符串变量config
'字符串变量config累加
/&#47,toolbar=no.showModelessDialog()
其他类似问题
为您推荐:
一下下的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁查看: 322|回复: 3
开源云台的一些代码,有看懂的大神,可以给我详细解释下吗?谢谢
主题帖子精华
初级会员, 积分 92, 距离下一级还需 108 积分
在线时间33 小时
本帖最后由 greenHands 于
17:40 编辑
//这下面的函数看不懂
void engineProcess(void)
& && &&&LED& && &
& && &&&DEBUG_LED
& && &&&while(ConfigMode==1){TimerOff();}//Configuration loop& && && &
& && &&&MPU6050_ACC_get(); //Getting Accelerometer data& &
& && &&&acc_roll_angle = -(atan2(accADC_x, accADC_z))+(configData[11]-50.00)*0.0035;& &
& && &&&acc_pitch_angle= +(atan2(accADC_y, accADC_z));& && && && && && && && && && && && && && && && && && && &&&& && &&&
& && &&&MPU6050_Gyro_get();& && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && &
& && &&&acc_roll_angle_vid = ((acc_roll_angle_vid&&* 99.00)+ acc_roll_angle ) / 100.00;& && && && &&--这样做的用途是什么?& &
& && &&&acc_pitch_angle_vid= ((acc_pitch_angle_vid * 99.00)+ acc_pitch_angle) / 100.00;& && && && && && &&&
& && &&&sinus& && &&&= sinusas[(int)(rc4)];& && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && && &&&
& && &&&cosinus& && &&&= sinusas[90-(int)(rc4)];& && && && && && && && && && && && && && && && && && && && && && && && && && && &&&
& && &&&ROLL =- gyroADC_z * sinus + gyroADC_y *
& && &&&roll_angle = (roll_angle + ROLL * dt) + 0.0002 * (acc_roll_angle_vid-roll_angle);& && && &
& && &&&//ROLL=-gyroADC_z*sinus+gyroADC_y*& && &&&
& && &&&pitch_angle_true = ((pitch_angle_true + gyroADC_x * dt) + 0.0002 * (acc_pitch_angle_vid - pitch_angle_true)); //Pitch Horizon
& && &&&sukimas = sukimas + gyroADC_x *
& && &&&rc4_avg = ((rc4_avg * 499.00) + (rc4)) / 500.00;& && && && && && && && && && &&&
& && &&&pitch_angle = pitch_angle_true - rc4_avg / 57.3;& && && && && &
& && &&&pitch_angle_correction = pitch_angle * 50.0;& && && && && && && && &
& && &&&if(pitch_angle_correction && &1.0){& && && && && & pitch_angle_correction =& &1.0;& && &&&}
& && &&&if(pitch_angle_correction & -1.0){& && && && && & pitch_angle_correction = -1.0;& && &&&}
& && &&&pitch_setpoint = pitch_setpoint + pitch_angle_&&
& && &&&roll_angle_correction = roll_angle * 50.0;& && && && && && && && && && &&&//roll
& && &&&if(roll_angle_correction && &1.0){& && && && && & roll_angle_correction =& &1.0;& && && && && & }
& && &&&if(roll_angle_correction & -1.0){& && && && && & roll_angle_correction = -1.0;& && && && && & }
& && &&&roll_setpoint = roll_setpoint + roll_angle_& && && && && && && &
& && &&&if(tim_conf == 0)
& && && && && & //& && &&&
& && && && && & Timer1_Config();
& && && && && & Timer8_Config();
& && && && && & Timer5_Config();
& && && && && & Timer4_Config();
& && && && && & tim_conf = 1;
& && && && && & TIM_Cmd(TIM5, ENABLE);
& && && && && & TIM_CtrlPWMOutputs(TIM5, ENABLE);
& && && && && & for (n=1 ; n&4 ; n++);& && && && && && && && && && && && && && && && && && && && && && && && && && && &
& && && && && & TIM_Cmd(TIM4, ENABLE);
& && && && && & TIM_CtrlPWMOutputs(TIM4, ENABLE);
& && &&&pitch_PID();//Pitch axis pid& && && && && &
& && &&&roll_PID(); //Roll axis pid
& && &&&printcounter++; //Print data to UART& && &&&
& && &&&if (printcounter&=50)
& && && && && & printcounter=0;
& && &&&stop=0;
& && &&&LED& && && && && &
& && &&&watchcounter=0;& && &&&
csdn有我上传的bgc和evvgc的源码,比较清晰,可以自己搜一下。
马上要毕业,抓紧学习
主题帖子精华
新手上路, 积分 28, 距离下一级还需 22 积分
在线时间0 小时
csdn有我上传的bgc和evvgc的源码,比较清晰,可以自己搜一下。
主题帖子精华
在线时间308 小时
问作者。。。
主题帖子精华
新手上路, 积分 28, 距离下一级还需 22 积分
在线时间0 小时
感觉像是evvgc的代码,读取MPU6050数据,然后求欧拉角(atan2部分,不是严格意义上的欧拉角),vid是进行低通滤波,true是一阶互补滤波,然后pid控制
Powered by我想请问哪位大神可以帮我详细解释一下下面的java代码?
&div class=&highlight&&&pre&&code class=&language-java&&&span class=&kd&&public&/span& &span class=&kd&&class&/span& &span class=&nc&&Accumulator&/span& &span class=&kd&&extends&/span& &span class=&n&&Thread&/span& &span class=&o&&{&/span&
&span class=&kd&&private&/span& &span class=&kt&&int&/span& &span class=&n&&stratNum&/span&&span class=&o&&;&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kt&&int&/span& &span class=&n&&sum&/span&&span class=&o&&;&/span&
&span class=&kd&&public&/span& &span class=&nf&&Accumulator&/span&&span class=&o&&(&/span&&span class=&kt&&int&/span& &span class=&n&&startNum&/span&&span class=&o&&)&/span& &span class=&o&&{&/span&
&span class=&k&&this&/span&&span class=&o&&.&/span&&span class=&na&&stratNum&/span& &span class=&o&&=&/span& &span class=&n&&startNum&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&synchronized&/span& &span class=&kt&&void&/span& &span class=&nf&&add&/span&&span class=&o&&(&/span&&span class=&kt&&int&/span& &span class=&n&&num&/span&&span class=&o&&)&/span& &span class=&o&&{&/span&
&span class=&n&&sum&/span& &span class=&o&&+=&/span& &span class=&n&&num&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&span class=&kd&&public&/span& &span class=&kt&&void&/span& &span class=&nf&&run&/span&&span class=&o&&()&/span& &span class=&o&&{&/span&
&span class=&kt&&int&/span& &span class=&n&&sum&/span& &span class=&o&&=&/span& &span class=&mi&&0&/span&&span class=&o&&;&/span&
&span class=&k&&for&/span& &span class=&o&&(&/span&&span class=&kt&&int&/span& &span class=&n&&i&/span& &span class=&o&&=&/span& &span class=&mi&&0&/span&&span class=&o&&;&/span& &span class=&n&&i&/span& &span class=&o&&&&/span& &span class=&mi&&10&/span&&span class=&o&&;&/span& &span class=&n&&i&/span&&span class=&o&&++)&/span& &span class=&o&&{&/span&
&span class=&n&&sum&/span& &span class=&o&&+=&/span& &span class=&n&&stratNum&/span& &span class=&o&&+&/span& &span class=&n&&i&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&span class=&n&&add&/span&&span class=&o&&(&/span&&span class=&n&&sum&/span&&span class=&o&&);&/span&
&span class=&o&&}&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kt&&void&/span& &span class=&nf&&main&/span&&span class=&o&&(&/span&&span class=&n&&String&/span&&span class=&o&&[]&/span& &span class=&n&&args&/span&&span class=&o&&)&/span& &span class=&kd&&throws&/span& &span class=&n&&Exception&/span& &span class=&o&&{&/span&
&span class=&n&&Thread&/span&&span class=&o&&[]&/span& &span class=&n&&threadList&/span& &span class=&o&&=&/span& &span class=&k&&new&/span& &span class=&n&&Thread&/span&&span class=&o&&[&/span&&span class=&mi&&10&/span&&span class=&o&&];&/span&
&span class=&k&&for&/span& &span class=&o&&(&/span&&span class=&kt&&int&/span& &span class=&n&&i&/span& &span class=&o&&=&/span& &span class=&mi&&0&/span&&span class=&o&&;&/span& &span class=&n&&i&/span& &span class=&o&&&&/span& &span class=&mi&&10&/span&&span class=&o&&;&/span& &span class=&n&&i&/span&&span class=&o&&++)&/span& &span class=&o&&{&/span&
&span class=&n&&threadList&/span&&span class=&o&&[&/span&&span class=&n&&i&/span&&span class=&o&&]&/span& &span class=&o&&=&/span& &span class=&k&&new&/span& &span class=&n&&Accumulator&/span&&span class=&o&&(&/span&&span class=&mi&&10&/span&&span class=&o&&*&/span&&span class=&n&&i&/span&&span class=&o&&+&/span&&span class=&mi&&1&/span&&span class=&o&&);&/span&
&span class=&n&&threadList&/span&&span class=&o&&[&/span&&span class=&n&&i&/span&&span class=&o&&].&/span&&span class=&na&&start&/span&&span class=&o&&();&/span&
&span class=&o&&}&/span&
&span class=&k&&for&/span& &span class=&o&&(&/span&&span class=&kt&&int&/span& &span class=&n&&i&/span& &span class=&o&&=&/span& &span class=&mi&&0&/span&&span class=&o&&;&/span& &span class=&n&&i&/span& &span class=&o&&&&/span& &span class=&mi&&10&/span&&span class=&o&&;&/span& &span class=&n&&i&/span&&span class=&o&&++)&/span& &span class=&o&&{&/span&
&span class=&n&&threadList&/span&&span class=&o&&[&/span&&span class=&n&&i&/span&&span class=&o&&].&/span&&span class=&na&&join&/span&&span class=&o&&();&/span&
&span class=&o&&}&/span&
&span class=&n&&System&/span&&span class=&o&&.&/span&&span class=&na&&out&/span&&span class=&o&&.&/span&&span class=&na&&println&/span&&span class=&o&&(&/span&&span class=&s&&&Sum is : &&/span& &span class=&o&&+&/span& &span class=&n&&sum&/span&&span class=&o&&);&/span&
&span class=&o&&}&/span&
&span class=&o&&}&/span&
&/code&&/pre&&/div&
public class Accumulator extends Thread {
private int stratN
public Accumulator(int startNum) {
this.stratNum = startN
public static synchronized void add(int num) {
public void run() {
int sum = 0;
for (int i = 0; i & 10; i++) {
sum += stratNum +
public static void main(String[] args) throws Exception {
Thread[] threadList = new Thread[10];
for (int i = 0; i & 10; i++) {
threadList[i] = new Accumulator(10*i+1);
threadList[i].start();
for (int i = 0; i & 10; i++) {
threadList[i].join();
System.out.println("Sum is : " + sum);
懒得仔细看,大概是从1加到100给点建议:1. Accumulator改名为AccumulatorThread,让大家知道它是个thread,或改成Runnable;2. start你拼错了;3. static int让你的Accumulator用处受限(再跑一遍起始值就不对了,是吧?)建议改成构造方法的入参,如:int []入或者一个IntWrapper,synchronized可以只同步该入参;4. for循环里的+=startNum+i建议改成两句,别这么玩;
程序从main方法开始执行,new 了一个Thread数组,大小为10 下面一个for循环,循环十次,创建了10个线程注意new Accumulator(10*i+1);传入的参数,i=0 时 传入的是1
类推,2 3 4 5 .... 也就是创建了10个线程,但是传入的参数不一样。那么线程里都做了什么呢?public void run() {
int sum = 0;
for (int i = 0; i & 10; i++) {
sum += stratNum +
就是从1+2...+10。当然i的初始值是你创建线程的时候传入的,这里传入的分别是1,11,21,31...91(一共是10个线程)这回知道他是做什么的了吧。也就是计算从1加到100。结果不用自己计算应该是5050了吧。小学生都会计算。这里有一个面试时会经常问到的基础知识,启动一个新线程如何启动,调用start()方法还是run方法?答案当然是调用start方法。start()方法被用来启动新创建的线程,而且start()内部调用了run()方法,这和直接调用run()方法的效果不一样。当你调用run()方法的时候,只会是在原来的线程中调用,没有新的线程启动,start()方法才会启动新线程。但是,你在看add方法,public static synchronized void add 关键字synchronized 是给这个方法加锁了,也就是所谓的线程同步,意思就是这个方法一次只能被一个线程使用,那么main方法里创建了10个线程,难道是是1加到100分成10个任务一起计算?效率更快?add方法加了一个synchronized保护就没有什么卵用了。如楼上所说,除了装逼就没什么卵用了。面试题应该也不会出这样的问题。因为没有考点,反正我是没看出来。但是从这个题目渗透出来的java基础知识还是有一些。关于synchronized 总结有以下几点你们可以看看。基础概念:Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。
一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有另一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。
二、然而,当一个线程访问object的一个synchronized(this)同步代码块时,另一个线程仍然可以访问该object中的非synchronized(this)同步代码块。
三、尤其关键的是,当一个线程访问object的一个synchronized(this)同步代码块时,其他线程对object中所有其它synchronized(this)同步代码块的访问将被阻塞。
四、第三个例子同样适用其它同步代码块。也就是说,当一个线程访问object的一个synchronized(this)同步代码块时,它就获得了这个object的对象锁。结果,其它线程对该object对象所有同步代码部分的访问都被暂时阻塞。进一步深入:1、synchronized关键字的作用域有二种:
1)是某个对象实例内,synchronized aMethod(){}可以防止多个线程同时访问这个对象的synchronized方法(如果一个对象有多个synchronized方法,只要一个线程访问了其中的一个synchronized方法,其它线程不能同时访问这个对象中任何一个synchronized方法)。这时,不同的对象实例的synchronized方法是不相干扰的。也就是说,其它线程照样可以同时访问相同类的另一个对象实例中的synchronized方法;
2)是某个类的范围,synchronized static aStaticMethod{}防止多个线程同时访问这个类中的synchronized static 方法。它可以对类的所有对象实例起作用。2、除了方法前用synchronized关键字,synchronized关键字还可以用于方法中的某个区块中,表示只对这个区块的资源实行互斥访问。用法是: synchronized(this){/*区块*/},它的作用域是当前对象;3、synchronized关键字是不能继承的,也就是说,基类的方法synchronized f(){} 在继承类中并不自动是synchronized f(){},而是变成了f(){}。继承类需要你显式的指定它的某个方法为synchronized方法--------------------------------------------------好了,我就只能说这么多了,如果还有什么问题可以关注我,我尽量为大家解答我知道的知识。记得顶一个。
哪里不懂呢?代码本身而言用了多线程似乎想提高效率却又加锁,还不如单线程。除了考试似乎没什么实际意义。
当我看到synchronized的时候,把持不住拍了好久的掌,毕竟像代码作者这么装13的人已经很少见了。
已有帐号?
无法登录?
社交帐号登录哪位大神帮我解释下这段html&head&标签中的代码啊,_百度知道
哪位大神帮我解释下这段html&head&标签中的代码啊,
//e://e.baidu!财富只有这么多.com/zhidao/pic//zhidao/wh%3D450%2C600/sign=453d99ea706f3aa0dd4ea/4a36acaf2edda3ccf0f36bc607ec5.jpg" target="_blank" title="点击查看大图" class="ikqb_img_alink"><img class="ikqb_img" src="http.jpg" esrc="http,不好意思少了点<a href="http最近学习HTML://e.hiphotos、JS等,谁能帮忙翻译一下.baidu.baidu.hiphotos,看到一个网站的代码看不懂啊,都贡献出来了.com/zhidao/wh%3D600%2C800/sign=bc64c3c993cad1c8d0eefb31/4a36acaf2edda3ccf0f36bc607ec5.hiphotos、CSS
是不是里面的样式表文件全部存储在服务器上,效果跟直接看网页是一样的,在本地浏览我把源代码复制下来之后?浏览的时候直接从服务器上调用了呢
提问者采纳
/script&gt,到结束标签。我大概知道这么多了;是嵌入JS的代码,描述;meta name=&quot。&lt,这个代码是为了做移动端的适配baidu_ssp_verify& 开始,要多练习,标题、description,关键词。接下来就是引入css文件刚学HTML的时候&script&&lt
提问者评价
你说的没错,谢谢你,虽然跟我想要的答案差距有点大。我已经明白是怎么回事了。
极客SEO创始人
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 哪位大神知道她的番号 的文章

 

随机推荐