怎么修改下面的代码,关于两数求和
 #include<iostream>   
#include<string>   
#include<math.h>   
using namespace std;   
struct LinkNode   
{   
int data;                  //记录每个节点的整数(小于10000)   
LinkNode *next;            //记录下一个节点的地址   
LinkNode *prev;             //记录前一个节点的地址   
};   
class LinkList   
{   
private:   
LinkNode *head0,*head1;      //head0,head1分别记录两个整数链表的头指针   
LinkNode *currptr;   
LinkNode *result;            //result记录结果链表的头指针   
public:   
LinkList();                   //构造函数,初始化链表   
~LinkList();                 //析构函数,释放空间   
void Creat(string a);        //引入字符串,创立两个链表,分别表示两个整数   
void Add();                  //实现两个整数相加   
void Display();              //显示结果   
void addtwo();             //节点多的作为被加数,少的作为加数,实现整数绝对值大的加小的   
};   
int sum(int n);   
LinkList::LinkList()                //构造函数,初始化链表   
{   
head0=new LinkNode;              //申请一个空间记录整数的符号和节点数   
head1=new LinkNode;   
head0->next=head0;   
head0->prev=head0;               //初始化链表,建立双向循环链表   
head1->next=head1;   
head1->prev=head1;   
      result=new LinkNode;   
result->next=result;   
result->prev=result;   
currptr=NULL;   
}      
LinkList::~LinkList()                        //析构函数,释放空间   
{   
LinkNode *p1=head0,*p2=head1,*p3=result;     //三个指针分别指向三条链表的头指针   
while(p1!=p1->prev)                           
{   
    p1->prev->next=p1->next;   
    p1->next->prev=p1->prev;   
    currptr=p1;   
    p1=p1->next;   
    delete currptr;   
}   
while(p2!=p2->prev)                        //逐个删除节点,释放空间   
{    
    p2->prev->next=p2->next;   
    p2->next->prev=p2->prev;   
    currptr=p2;   
    p2=p2->next;   
    delete currptr;   
}   
while(p3!=p3->prev)   
{   
    p3->prev->next=p3->next;   
    p3->next->prev=p3->prev;   
    currptr=p3;   
    p3=p3->next;   
    delete currptr;   
}   
// 删除 p1,p2,p3;   
}   

void LinkList::Creat(string a)                   //引入字符串,创立两个链表,分别表示两个整数   
{   
int i=0,j=0,m=0,n=0,k=0,l=0,s=0,w=0;         //i记录字符串,j记录加数节点数;s记录被加数节点数,w标记字符串中的'-'号,
                                            //k记录字符串中的字符转化为整数的值,l使每个节点记录4位   
while(a[m]!=';') m++;            //m记录字符串中被加数的字符数   
    n=m;                                   
while(a[n]!='\0') n++;           //n记录字符串的总字符数   
if(a[0]=='-')   
{   
    head0->data=(-1);              //记录整数符号   
    w=1;   
}   
else {head0->data=1;}   
for(i=m-1;i>=w;i--)                
{   
    if(a[i]!=',')                   //把字符转化为整数   
    {   
     k+=(a[i]-'0')*sum(l);   
     l++;   
    }   
    if(a[i]==','||i==w)   
    {   
     currptr=new LinkNode;             //把整数存到双向循环链表中   
     currptr->data=k;   
     currptr->next=head0;   
     currptr->prev=head0->prev;   
     head0->prev->next=currptr;   
     head0->prev=currptr;   
     head0=currptr;    
     s++;                               //节点数加1   
     k=0;                               //重新初始化k和l   
     l=0;                                
    }   
}   
      head0->prev->data*=s;             //存储整数符号和节点数    
                                        //与建第一个整数链表一样,建立第二个整数链表head1   
k=0;l=0;   

if(a[m+1]=='-')   
{   
    head1->data=(-1);   
    m++;   
}   
else    
    head1->data=1;   
for(i=n-1;i>m;i--)   
{   
    if(a[i]!=',')   
    {   
     k+=(a[i]-'0')*sum(l);   
     l++;   
    }   
    if(a[i]==','||i==m+1)   
    {   
     currptr=new LinkNode;   
     currptr->data=k;   
     currptr->next=head1;   
     currptr->prev=head1->prev;   
     head1->prev->next=currptr;   
     head1->prev=currptr;   
     head1=currptr;   
     j++;   
     k=0;   
     l=0;   
    }   
}   
head1->prev->data*=j;   
}   

void LinkList::Add()                               //实现两个整数相加   
{   
LinkNode *temp;   
if(abs(head0->prev->data)>abs(head1->prev->data)) //两个整数中,绝对值大的为被加数   
    addtwo();   
else if(abs(head0->prev->data)<abs(head1->prev->data))   
{   
    temp=head0;   
    head0=head1;   
    head1=temp;   
    addtwo();   
}   
else if(abs(head0->prev->data)==abs(head1->prev->data))   
{   
    int k1,k2;   
    LinkNode *p=head0,*q=head1;                //如果节点数相同,则判断节点中数值大小       
while(p->data==q->data&&p!=head0->prev->prev&&q!=head1->prev->prev)   
    {   
     p=p->next;   
     q=q->next;   
    }   
    k1=p->data;   
    k2=q->data;   
    if(k1>k2)   
     addtwo();   
    else    
    {    
    temp=head0;   
    head0=head1;   
    head1=temp;   
    addtwo();   
    }   
}   
}   
void LinkList::addtwo()           //节点多的作为被加数,少的作为加数,实现整数绝对值大的加小的   
                                  //默认head0存的整数绝对值比head1大   
{   
int s=0,m1=head0->data,m2=head1->data;   
m1=(head0->prev->data/abs(head0->prev->data));         //head0的符号   
m2=(head1->prev->data/abs(head1->prev->data));         //head1的符号   
LinkNode *p=head0->prev->prev,*q=head1->prev->prev;   
result->data=head0->prev->data;            //存结果的节点数和符号     
while(q!=head1->prev)           //head0存的整数绝对值比head1大,即head0的节点数大于或等于head1   
{   
    currptr=new LinkNode;   
    currptr->data=(p->data)*m1+(q->data)*m2+s;     //两整数相加   
    if((m1*m2)>0)                             //如果符号相同   
    {   
     if(abs(currptr->data)-10000>=0)       //相加后超过10000,则进位   
     {   
      s=currptr->data/10000;   
      currptr->data=abs(currptr->data)%10000;   
     }    
     else                 //abs(currptr->data)-10000<0,不进位   
     {   
      s=0;   
      currptr->data=abs(currptr->data);   
     }   
    }   
    else if(m1>0&&m2<0)                 //符号不同,在此相当于实现两个正整数相减   
    {   
     s=0;   
     if(currptr->data<0)               //小于0,向前一位借1   
     {   
      currptr->data+=10000;   
      s=-1;   
     }   
    }   
    else if(m1<0&&m2>0)              
//符号不同,在此相当于实现负整数加上正整数   
    {    
     s=0;   
     if(currptr->data>0)           //大于0,   
     {   
      currptr->data=10000-currptr->data;   
      s=1;   
     }   
     else currptr->data=abs(currptr->data);   
    }   
    currptr->next=result;              //存入链表   
    currptr->prev=result->prev;   
    result->prev->next=currptr;   
    result->prev=currptr;   
    result=currptr;   
    p=p->prev;   
    q=q->prev;   
}                 
       //当head0节点数比head1长时,继续建立链表   
while(p!=head0->prev)     
{   
    currptr=new LinkNode;   
    currptr->data=p->data*m1+s;   
    s=currptr->data/10000;   
    if((m1*m2)>0)   
    {   
     if(abs(currptr->data)-10000>=0)   
     {   
      s=currptr->data/10000;   
      currptr->data=abs(currptr->data)%10000;   
     }   
     else {s=0;currptr->data=abs(currptr->data);}   
    }   
    else if(m1>0&&m2<0)   
    {   
     s=0;   
     if(currptr->data<0)   
     {   
      currptr->data+=10000;   
      s=-1;   
     }   
    }   
    else if(m1<0&&m2>0)   
    {   
     s=0;   
     if(currptr->data>0)   
     {   
      currptr->data=10000-currptr->data;   
      s=1;   
     }   
     else currptr->data=abs(currptr->data);   
    }   
    currptr->data=abs(currptr->data)%10000;   
    currptr->next=result;   
    currptr->prev=result->prev;   
    result->prev->next=currptr;   
    result->prev=currptr;   
    result=currptr;   
    p=p->prev;   
}   
if(s!=0)                     //处理相加后,进位问题   
{   
    currptr=new LinkNode;   
    currptr->data=abs(s);   
    currptr->next=result;   
    currptr->prev=result->prev;   
    result->prev->next=currptr;   
    result->prev=currptr;   
    result=currptr;   
    result->prev->data=m1*(abs(result->prev->data)+1);   
}   
}   
void LinkList::Display()                     //显示结果   
{   
LinkNode *p=result;   
int FuHao=result->prev->data/abs(result->prev->data);//结果的符号   
while(p->data==0&&p!=result->prev->prev)            //当运算后前几个节点的数据为0时,不输出   
{   
    p=p->next;   
    result->prev->data=(abs(result->prev->data)-1)*FuHao;    //结果记录非0节点数   
}   
cout<<FuHao*p->data;           //首先显示符号和第一个节点中的数   
if(abs(result->prev->data)!=1) p=p->next; //判断非0节点数是否为1   
while(p!=result->prev->prev)      //继续输出   
{   
    cout<<",";                 //每4位一组,并用','隔开   
    cout.width(4);   
       cout.fill('0');   
          cout<<p->data;   
          p=p->next;   
}   
if(p==result->prev->prev&&abs(result->prev->data)!=1) //显示最后一个节点数据   
{   
    cout<<",";   
    cout.width(4);   
       cout.fill('0');   
          cout<<p->data;   
}   
cout<<endl;   
}   
int sum(int n)                    //计算10的乘方   
{   
int i,s=1;   
for(i=1;i<=n;i++)   
{   
    s=s*10;   
}   
return s;   
}   
int main()                      //主函数   
{       
    cout<<"*         任意长整数的加法      *\n\n";
    cout<<"*  注意:输入时每四位用逗号隔开 *\n\n";
    cout<<"*         如:123456789         *\n\n";
    cout<<"*     输入格式为:1,2345,6789   *\n\n"; 
    cout<<"*       两个数之间用';'隔开     *\n\n";   
    cout<<"\n";
    string ch;
    cout<<"请输入整数1;整数2:\n";  
    cin>>ch;                                 //输入任意长字符串   
    LinkList List;                          //定义链表对象   
    List.Creat(ch);                       //把字符串转化为整数,并存到链表中
    List.Add();                             //实现两个整数相加 
    cout<<"两整数的和为:";  
    List.Display();                              //输出结果   
}  

这个代码里输入两个数的时候要用“;”隔开,这个地方怎么改成让它分别输入两个数然后相加,我改成下面这种但前面格式好像不对,不知道怎么改
string ch1,ch2;
cout<<"请输入整数1:\n";

cin>>ch1;
cout<<"请输入整数2:\n";

cin>>ch2;

LinkList List;

List.Creat(ch1,ch2);

List.Add();

cout<<"两整数的和为:";

List.Display();

}

1个回答

    string ch1,ch2,ch3;
    cout<<"请输入整数1:\n";
    cin>>ch1;

    cout<<"请输入整数2:\n";
    cin>>ch2;
    ch1=ch1+";"+ch2;
    LinkList List;
    List.Creat(ch1);

    List.Add();
    cout<<"两整数的和为:";
    List.Display();
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
用C语言编写矩阵求和的代码

矩阵求和,运行后显示A+B=C的形式,而不是A + B = C

c语言指针问题 从键盘输入两个数,让它们相加。

#include<stdio.h> int add(int,int); main() { int x,y,z; int *p,*q; p=&x,q=&y; printf("enter x and y"); scanf("%d%d",&x,&y); z=add(*p,*q); printf("%d",z); } int add(int *a,int *b) { int sum; sum=*a+*b; return sum; } 上面程序编译没有错误,但是执行的时候会有下面的提示: a.obj : error LNK2001: unresolved external symbol "int __cdecl add(int,int)" (?add@@YAHHH@Z) Debug/A.exe : fatal error LNK1120: 1 unresolved externals 执行 link.exe 时出错. 各位老师给解答一下,这是为什么呀??

2重for循环,如何循环赋值,以及判定求和的条件

我这里先给个程序的样板,有可能是错误的啊,老铁,帮忙给看看啊。谢谢啦。 #include "stdafx.h" #include<stdio.h> #include<math.h> int main() { int a, b, i = 0; int sum = 0; int b1[4] = {2,4,3 }; int b2[4] = { 3,4,2 }; for (a = 1; a <= 3; a++) b1[a] = 2; b1[a] = 4; b1[a] = 3; /* 这里是第一个for循环,就是希望能够循环赋值给一个数组,具体想要实现的功能是: 当a=1的时候,b1[1]=2,然后把这个数字存储到数组,方便下面做sum求和用。 当a=2的时候,b1[2]=4,然后把这个数字存储起来,方便下面做sum求和用。 当a=3的时候,b1[3]=3,然后把这个数字存储起来,方便下面做sum求和用。 */ for (b = 1; b <= 3; b++) b2[b] = 3; b2[b] = 4; b2[b] = 2; /* 这里是第二个for循环,就是希望能够循环赋值给一个数组,具体想要实现的功能是: 当b=1的时候,b1[1]=3,然后把这个数字存储到数组,方便下面做sum求和用。 当b=2的时候,b1[2]=4,然后把这个数字存储起来,方便下面做sum求和用。 当b=3的时候,b1[3]=2,然后把这个数字存储起来,方便下面做sum求和用。 */ sum = b1[a] + b2[b] ; /* 刚刚是希望能够循环给for 赋值,现在是希望能够根据刚刚的不同的值,来循环判定sum的和。*/ if (sum == 6) { printf("A:%2d B:%2d ", b1[a], b2[b]); /* 如果sum等于6,那么把b1[a],b2[b]的值打印出来。*/ i++; if (i % 1 == 0) printf("\n"); /* i用了统计次数,看看总共有多少种组合方法。每一种方法i都自动加1*/ } printf("共有%d种办法\n", i); return 0; } 希望看见的运行结果是 :( b1[1] = 2 + b2[2] = 4 ) ==6 ==sum ( b1[3] = 3 + b2[1] = 3 ) ==6 ==sum ( b1[2] = 4 + b2[3] = 2 ) ==6 ==sum ...... 共有x种办法; 注意:1 : 可以不用数组来赋值。也可以用变量,但是我要求的值是特定的值,比如当 b ==1的时候,某一个变量要等于3,然后要用这个变量来参与sum求和。判定为6的时候,把该变量打印出来。 2 :帮我看看sum 和那个等式有没有循环来判定,我是希望每一次循环都能判定一次sum求和 4:帮我看看我用for循环,循环赋值的时候是不是错啦?因为那个数组好像是从0开始的,我希望能够从1开始,如果要是从1开始,我给数组赋初值的时候是不是也赋值错啦。可以不用我的程序,我只是想演练一下自己的要实现的功能。 3 :小程序,也不难,希望能够帮我写一个完整的小程序。希望能够保留的功能是,有多少种办法也就是i能够算清楚。然后,sum=6所涉及的2个变量的值的全部组合情况能够全部打印出来。最后希望程序能够尽量简单一点,有个main函数就可以啦。最好是在我原来代码的基础上简单的改动一下。不要用count 这些编译器会报错。我用的是vs2015。希望用的包能够提醒一下。我好导入进去。 下面我把注释删掉:给一个完整程序,帮我修改一下: #include "stdafx.h" #include<stdio.h> #include<math.h> int main() { int a, b, i = 0; int sum = 0; int b1[4] = {2,4,3 }; int b2[4] = { 3,4,2 }; for (a = 1; a <= 3; a++) b1[a] = 2; b1[a] = 4; b1[a] = 3; for (b = 1; b <= 3; b++) b2[b] = 3; b2[b] = 4; b2[b] = 2; sum = b1[a] + b2[b] ; if (sum == 6) { printf("A:%2d B:%2d ", b1[a], b2[b]); i++; if (i % 1 == 0) printf("\n"); } printf("共有%d种办法\n", i); return 0; } 谢谢啦老铁,双击666

二维数组求和问题,大神请进

定义的一个二维数组 int rangle[][] = { new int[] { 0 }, new int[] { 0, 0 }, new int[] { 0, 0, 0 }, new int[] { 0, 0, 0, 0 }, new int[] { 4, 5, 2, 6, 5 } }; 要的结果是把下面最相邻的两个相加赋值到前面一个位置上,最终结果是 int rangle[][] = { new int[] { 65 }, new int[] { 31, 34 }, new int[] { 16, 15,19 }, new int[] { 9, 7, 8, 11 }, new int[] { 4, 5, 2, 6, 5 } }; 求代码

Java语言高分悬赏:带有函数递归的代码,怎么画出流程图呢,比如下面的代码:

Java语言高分悬赏:带有函数递归的代码,怎么画出流程图呢,比如下面的代码: ``` int hanshu(int n) { if (n == 1 || n == 2) return 1; int a = hanshu(n - 1); int b = hanshu(n - 2); return a + b; } ```

在mybatis中mapper.xml中如何实现sql动态条件查询结果后求和

_现在遇到个状况,如下代码 select rela.member_paper_id,rela.member_id,paper_type,rela.paper_id,rela.create_time,rela.update_time,rela.start_time,rela.end_time,me.member_name,pa.paper_name,concat (rela.paper_score ,'分' ) as paper_score,concat (pa.total_score ,'分' ) as total_score, cast(( select count(1) from training_member_paper_question_relation qrela left join training_member_paper_relation mpr on qrela.member_paper_id = mpr.member_paper_id where qrela.member_paper_id = rela.member_paper_id and is_correct = '0' ) as char(5))as error_number, cast(( select SUM(d.question_score) from (select qrela.question_score from training_member_paper_question_relation qrela left join training_paper_question que on qrela.question_id = que.question_id where qrela.member_paper_id = '2017110900011225' and (que.question_type = 'single' or que.question_type = 'order' or que.question_type = 'multiple') )as d ) as char(5)) as subjective_score, cast(( select COUNT(1) from training_member_paper_question_relation qrela left join training_paper_question que on qrela.question_id = que.question_id where qrela.member_paper_id = rela.member_paper_id and (que.question_type = 'single' or que.question_type = 'order' or que.question_type = 'multiple') ) as char(5))as subjective_item from training_member_paper_relation rela left join training_member me on rela.member_id = me.member_id left join training_paper pa on rela.paper_id = pa.paper_id WHERE rela.member_paper_id = '2017110900011225' 在这种情况下是可以查出member_paper_id = '2017110900011225'的数据,这个没问题,但我的WHERE条件后的rela.member_paper_id 在mapper是动态的(= #{memberPaperId,jdbcType=CHAR}) ,那么在上面 qrela.member_paper_id 就不可能为= '2017110900011225'不变的,但是我把它改成像下面一个字段的方式: qrela.member_paper_id = rela.member_paper_id 直接报错[Err] 1054 - Unknown column 'rela.member_paper_id' in 'where clause', subjective_score字段的查询是先查出条件下的结果,再把结果求和,再把这个作为一个字段去查询,下面一个 subjective_item字段查询是直接查出数量,再作为一个字段查询,这个是没有问题的,请问大神这个有没有什么办法啊_**__

给定若干个矩阵,求各矩阵的行数、列数、全部元素之和

**描述** 给定若干个矩阵,找出各矩阵的行数、列数。   **输入** 输入数据有若干个矩阵,矩阵之间用空行分隔。每行输入的总字符数不超过65536。   **输出** 对于每一种情形,先输出“Case #:”(#为序号,从1起),然后矩阵的行数,逗号,列数,逗号,矩阵全部元素之和。   **样例输入1** 1.5 2.2 3.3 0.4 4.0 6.5 1 4 5 7 8 10 3 6 3 4 6 8 9 2 4 6 7 5 1 3 2 5 6 7 **样例输出1** Case 1: 2, 3, 17.9 Case 2: 3, 6, 98 Case 3: 3, 2, 24 ![图片说明](https://img-ask.csdn.net/upload/201909/30/1569813510_775375.png) 我的代码如下 报错Runtime Error! 网上找到RE的常见原因是 > ①除以零 > > ②数组越界 > > ③指针越界 > > ④使用已经释放的空间 > > ⑤数组开得太大,超出了栈的范围,造成栈溢出 C++初学者,想知道是哪里出了问题 **_(已解决RE问题,是OJ不允许while(true)循环,但更改后又出现Wrong Answer……,下面是更改后的代码)_** ``` #include <iostream> #include <sstream> using namespace std; int main() { int t = 0; //Case序号 string x; stringstream ss; long double temp; long long count = 0; //count总元素个数 long long row = 0, col = 0; //row行数,col列数 long double sum = 0; //sum全部元素之和 while(getline(cin, x)) //按行输入 { if(x.length() != 0) { ss.clear(); ss.str(x); while(ss >> temp) //输入到浮点型变量temp { sum += temp; //累加求和 count ++; //记录总个数 } row ++; //记录行数 } else //读到空行即一种情形输入完毕 { t ++; if(row != 0) col = count / row; //总个数除以行数即为列数 else col = 0; //行数0则列数0 cout << "Case " << t << ": " << row << ", " << col << ", " << sum << endl; row = 0; //归零 col = 0; sum = 0; count = 0; } } return 0; } ```

关于Spring中事务的先关问题~~~苦等各位高手大拿~~~这里先谢谢啦~~有代码哦!

``` @Override @Transactional public JSONObject openToAccount(JSONObject params)throws Exception { JSONObject json = new JSONObject(); // 先判断是否存在用户账户记录 if(userAccountDao.isExistUserAmountRec(params.getString("userId")) <= 0){ // 不存在 // 初始化用户账户记录 int initcount = userAccountDao.initUserAccount(params.getString("userId")); if(initcount <= 0){ throw new BusinessException("初始化用户账户记录异常"); } }else{ //存在 // 获取用户账号对象 UserAccounct userAccounct = userAccountDao.getUserAmountByUserId(params.getString("userId")); // 是否存在 if(userAccounct != null){ logger.info(" userAccount Record is Exist ! "); // 个人收益是否大于0 if(userAccounct.getPlatformRevenue().compareTo(BigDecimal.ZERO) == 1){ try { logger.info(" userAccount record incomeAmount is ¥ " + userAccounct.getPlatformRevenue()); // 先修改本地记录 将用户收益归零 int updateUserAccountCount = userAccountDao.setPlatformRevenueByUserId(params.getString("userId"), BigDecimal.ZERO); if(updateUserAccountCount <= 0){ throw new BusinessException("重置该用户收益金额异常"); } logger.info(" userAccount record incomeAmount updated to Zero "); // 将所有属于该用户的订单更新为已折现 int updatePaymentCount = paymentDao.updateIsDiscountedByUserId(params.getString("userId")); if(updatePaymentCount <= 0){ throw new BusinessException("用户订单信息折现状态更新异常"); } logger.info(" payment record isdiscounted updated to 'true' "); // 封装数据 请求openToAccount接口 List<NameValuePair> paramsList = new ArrayList<NameValuePair>(); // 根据终端匹配AppId if(params.getString("terminal") == "ios" || "ios".equals(params.getString("terminal"))){ // iosAppId paramsList.add(new BasicNameValuePair("client_id", iosAppId)); } if(params.getString("terminal") == "android" || "android".equals(params.getString("terminal"))){// andoriApp paramsList.add(new BasicNameValuePair("client_id", androidAppId)); } logger.info(" access_token is "+ params.getString("access_token")); logger.info(" openid "+ params.getString("openId")); logger.info(" amount "+ userAccounct.getPlatformRevenue().toString()); paramsList.add(new BasicNameValuePair("access_token", params.getString("access_token"))); // access_token移动端传递 paramsList.add(new BasicNameValuePair("openid", params.getString("openId"))); // openId移动端传递 paramsList.add(new BasicNameValuePair("amount",userAccounct.getPlatformRevenue().toString())); // 金额 目前为全部折现 String r = HttpsClientUtils.doPost(openToAccountUrl, paramsList); // 调用开放平台openToAccount接口 JSONObject returnJson = JSONObject.parseObject(r); // openToAccount接口返回 JsonObject String code = returnJson.getString("code"); // 返回参数 code String success = returnJson.getString("success"); // 返回参数 success String msg = returnJson.getString("msg"); // 返回参数 msg logger.info(" UTOUU Open platform OpenToAcount return----->code:{}-----msg:{}-----success:{}",code,msg,success); // 根据openToCas接口返回的code码 判断 折现成功 if(code == ConfessionConstants.DISCOUNTED_SUCCESS_CODE || ConfessionConstants.DISCOUNTED_SUCCESS_CODE.equals(code)){ logger.info(" OpenToAcount return code is " + code);// 返回0为成功 // 返回折现成功消息 json = JsonUtils.getSucResultJson(ResultCodeAndMsg.RSP_SUCCESS_CODE, ResultCodeAndMsg.REVENUE_DISCOUNT_SUCCESS_MSG); return json; } // 折现失败 logger.info(" OpenToAcount return code is " + code); json = JsonUtils.getFailResultJson(ResultCodeAndMsg.RSP_FAIL_CODE, ResultCodeAndMsg.RSP_FAIL_MSG); throw new BusinessException("个人收益转出失败!"); } catch (Exception e) { e.printStackTrace(); } }else{ // 返回没有可以折现的收益金额信息 json = JsonUtils.getFailResultJson(ResultCodeAndMsg.RSP_SUCCESS_CODE, ResultCodeAndMsg.REVENUE_IS_ZREO); return json; } }else{ throw new BusinessException("未找到该用户账户记录异常"); } } json = JsonUtils.getFailResultJson(ResultCodeAndMsg.RSP_FAIL_CODE, ResultCodeAndMsg.RSP_FAIL_MSG); return json; } ``` 这个是我的一个业务实现类、大致用途是关于金额转出的、其中在代码中还请求了第三方服务的接口 现在我的问题主要有两个: 1:为什么我根据第三方服务返回的结果判断后(当然是我不想得到的结果时)throw 异常 后该service层调用的所有DAO不回滚? 2:如何防止并发呢?我这里是可以多点登录的、即同一个用户在不同的设备上同时执行了该业务类,这时候我就傻了~~~请问该如何处理? 谢谢大家了

C++不知道如何在含有字母的txt文本中提取单独的数字并用一个数组表示(小白)

题目的要求是要满足下面流程图,把输出结果输出到另一个txt文件中。school可以忽略。。。![图片说明]![图片说明](https://img-ask.csdn.net/upload/202004/30/1588176500_982811.png) NAME BMI Ali 11.2 Beatriz 14.6 Charles 7.8 Diya 15.2 NUR ATHIRAH BINTI MANAF 14.2 NUR HUSNA BINTI AZMI 14.4 这是我的代码。。。我只知道怎么读全部,但是我不知道如何单独把数字提出来进行判断。。。 ``` #include<iostream> #include<iomanip> #include<fstream> #include<string> using namespace std; int main() { fstream input("input.dat", ios::in); fstream output("output.dat", ios::out); while (!input.eof()) { char str[6000]; input.getline(str,sizeof(str),'\n'); output << str << endl; return 0; } } ```

新手求解答!!万分感谢

void LeftTrim(char str[]) { int i; for (i = 0; str[i] == ' '; i++) ; strcpy (str, str + 1); } 错误 C4996 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 两个任意长度的大整数求和 d:\vc.projects\两个任意长度的大整数求和\两个任意长度的大整数求和\源.cpp 114 上面是代码,下面是错误,我将strcpy改成strcpy_s之后,显示: 错误(活动) 没有与参数列表匹配的 重载函数 "strcpy_s" 实例 两个任意长度的大整数求和 d:\VC.projects\两个任意长度的大整数求和\两个任意长度的大整数求和\源.cpp 114 改与不改都是错误,求大神帮我解答下,万分感谢!!!!

Python基础:怎么确保用户输入的use1_guess和user2_guess一定是10进制的数字,如果不是10进制的数字应当怎么处理,使得这个小程序能够正确执行

``` import random """ 案例:21点 - 两个玩家,游戏开始先输入名字 - 用字典保存每个玩家信息:姓名,获胜次数 - 电脑随机产生2个数,每个玩家轮流猜1个数,与电脑随机两个数求和,最接近21的获胜 - 每轮结束显示玩家信息 - 按q退出游戏 """ target = 21 user1 = input('第一个玩家名字:') user2 = input('第二个玩家名字:') print(f'玩家:{user1}, {user2}') users = { user1: {'win': 0}, user2: {'win': 0} } print(users) # PC 随机出2个数 num1 = random.randint(1, 10) num2 = random.randint(1, 10) # 此处不应该现在打印出来 # print(f'电脑随机选数:{num1}, {num2}') user1_guess = input(f'{user1} guess:') user2_guess = input('user2 guess:') user1_sum = int(num1) + int(num2) + int(user1_guess) user2_sum = int(num1) + int(num2) + int(user2_guess) print(user1_sum, user2_sum) if abs(user1_sum-21) > abs(user2_sum-21): print(f'{user1_sum}', f'{user2_sum}') print('user2 win!') else: print('user1 win!') print(f'电脑随机选数:{num1}, {num2}') ``` 怎么确保用户输入的use1_guess和user2_guess一定是10进制的数字,如果不是10进制的数字应当怎么处理,使得这个小程序能够正确执行。 请用Python基础的内容对程序进行改写,太高深或者网上解释过于模糊的方法解释我看不懂。用简单代码进行修改的可以不用看下面的,但是导包或者定义类中的特殊方法请在回答问题的下方加入您的解释或者该方法的解释链接 我要的是解决方案,回答print("请输入十进制数字")之类的一律无视。

求助:现在需要在oracle中先按照单位分组,然后将单位的各个数值信息进行相加统计,汇总成一行,请大神帮助,谢谢!!!

数据库:ORACLE 11G<br> 这是我根据工作环境创建的简化的表,实际单位有上百个,需要一个比较通用的方法。 原始数据表结构如下:<br> ![图片说明](https://img-ask.csdn.net/upload/201910/18/1571361779_863630.png) <br>需要达到的效果如下图:![图片说明](https://img-ask.csdn.net/upload/201910/18/1571361895_283475.png) <br>也就是先根据单位分类,然后将后面四个属性中的数值进行合并相加。 <br>如果达不到这样的效果也可以在每类单位下面加一行合计。 <br>测试表建表代码如下: ``` -- Create table create table TONGJI002 ( id NUMBER, danwei VARCHAR2(100), yilei NUMBER, erlei NUMBER, sanlei NUMBER, silei NUMBER ) tablespace USERS pctfree 10 initrans 1 maxtrans 255 storage ( initial 64 next 1 minextents 1 maxextents unlimited ); insert into tongji002 (ID, DANWEI, YILEI, ERLEI, SANLEI, SILEI) values (1, '第一中学', 2, 2, 5, 6); insert into tongji002 (ID, DANWEI, YILEI, ERLEI, SANLEI, SILEI) values (2, '第一中学', 1, null, 4, null); insert into tongji002 (ID, DANWEI, YILEI, ERLEI, SANLEI, SILEI) values (3, '第一中学', null, 3, null, 9); insert into tongji002 (ID, DANWEI, YILEI, ERLEI, SANLEI, SILEI) values (4, '第二中学', null, null, 7, 8); insert into tongji002 (ID, DANWEI, YILEI, ERLEI, SANLEI, SILEI) values (5, '第二中学', null, 5, null, null); insert into tongji002 (ID, DANWEI, YILEI, ERLEI, SANLEI, SILEI) values (6, '第三中学', 3, 3, 4, 8); insert into tongji002 (ID, DANWEI, YILEI, ERLEI, SANLEI, SILEI) values (7, '第三中学', 1, null, 5, null); insert into tongji002 (ID, DANWEI, YILEI, ERLEI, SANLEI, SILEI) values (8, '第三中学', 1, 6, null, 9); insert into tongji002 (ID, DANWEI, YILEI, ERLEI, SANLEI, SILEI) values (9, '第三中学', null, null, 8, 8); ``` ## **急需大神帮助,跪谢!!!**

java 从数组取出指定数量的值,相加大于等于或小于等于指定的值,取出对应的组合下标,下标不能重复

Integer[] datas = new Integer[]{1,2,3,4,5,6,7,8,9,10,11};//目标数组 Integer min = 6;//大于等于的值 Integer max = 12;//小于等于的值 Integer count = 3;//指定数量 根据count如:3,3个数相加大于等于min小于等于max,2个数相加大于等于min小于等于max,1个数相加大于等于min小于等于max。 如果count=2,2个........,1ge.........。 返回List<Integer[]>。 下面代码是我写死,我想知道怎样写活【count】 ``` public static void main(String[] args) { Integer[] datas = new Integer[]{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19}; Integer min = 6; Integer max = 12; Integer count = 3; List<Integer[]> test = test(datas, min, max, count); for(Integer[] integers : test){ for(Integer t : integers){ System.out.print("["+t+"]"); } System.out.println(""); } } public static List<Integer[]> test(Integer[] datas, Integer min, Integer max, Integer count){ List<Integer[]> result = new ArrayList<>(); switch (count){ case 1: result.addAll(one(datas, min, max)); break; case 2: result.addAll(one(datas, min, max)); result.addAll(two(datas, min, max)); break; case 3: result.addAll(one(datas, min, max)); result.addAll(two(datas, min, max)); result.addAll(three(datas, min, max)); break; } return result; } public static List<Integer[]> one(Integer[] datas, Integer min, Integer max){ List<Integer[]> result = new ArrayList<>(); for(int i = 0,len = datas.length; i < len; i++){ if(datas[i] >= min && datas[i] <= max){ result.add(new Integer[]{i}); } } return result; } public static List<Integer[]> two(Integer[] datas, Integer min, Integer max){ List<Integer[]> result = new ArrayList<>(); for(int i = 0,len = datas.length; i < len; i++){ for(int j = 1 + i; j < len; j++){ Integer num = datas[i] + datas[j]; if(num >= min && num <= max){ result.add(new Integer[]{i,j}); } } } return result; } public static List<Integer[]> three(Integer datas[], Integer min, Integer max){ List<Integer[]> result = new ArrayList<>(); for(int i = 0,len = datas.length; i < len; i++){ for(int j = 1 + i; j < len; j++){ for(int k = 1 + j; k < len; k++){ Integer num = datas[i] + datas[j] + datas[k]; if(num >= min && num <= max){ result.add(new Integer[]{i,j,k}); } } } } return result; } ``` 输出的【下标】组合 ``` [5] [6] [7] [8] [9] [10] [11] [0][4] [0][5] [0][6] [0][7] [0][8] [0][9] [0][10] [1][3] [1][4] [1][5] [1][6] [1][7] [1][8] [1][9] [2][3] [2][4] [2][5] [2][6] [2][7] [2][8] [3][4] [3][5] [3][6] [3][7] [4][5] [4][6] [0][1][2] [0][1][3] [0][1][4] [0][1][5] [0][1][6] [0][1][7] [0][1][8] [0][2][3] [0][2][4] [0][2][5] [0][2][6] [0][2][7] [0][3][4] [0][3][5] [0][3][6] [0][4][5] [1][2][3] [1][2][4] [1][2][5] [1][2][6] [1][3][4] [1][3][5] [2][3][4] ```

java只用三元运算符实现1+1/2!+1/3!...+1/20!的和。求高手指教下面代码错在哪里了

![图片说明](https://img-ask.csdn.net/upload/201611/28/1480325212_315507.png) 用iSum0()方法求阶层可以得出正确结果,但在最终求和时调用iSum()方法却出错,菜鸟求指教

一道JavaScript面试题,谁知道怎么写

``` 已知 key="aaa.bbb.ccc.ddd.eee", value=111.222; 写一个函数f,输出一个对象,对象的内容如下: { aaa:{ bbb:{ ccc:{ ddd:111.222 } } } ------------------------------ 提醒,f函数可以写成: function f(key,value){ var result={}; var arr=key.split('.'); //下面的代码如何写? } ```

5*5数组选出每列最大和最小的数,这么写冗余吗?怎样精简一下

前面的代码实现了输入数字,存入了5*5的数组中,代表5个学生5门课的成绩 下面是比大小 //每门科目中的最高和最低分 i=0,j=0; for(j=0;j<COL;j++){ i=0;//每列遍历后,i的值为最大行,所以需要归零 max=0;//前一列循环后max归零 min=str[i][j];//一列遍历后,下一列遍历之前min赋值为新一列第一行的元素 for(i=0;i<RAW;i++){ if(str[i][j]>max) max=str[i][j]; if(str[i][j]<min) min=str[i][j]; } printf("The best achievement of course%d :%d\n",j+1,max); printf("The Worst achievement of course%d :%d\n",j+1,min); } return 0; }

选择(点击)多个input后,获取相应span值并且自动相加显示在另一个span里面,然后把单位(MB)换算为GB?

选择(点击checkbox)多个input后,获取相应span值(文件大小值)并且自动相加每一个文件的大小,最后把总大小显示在另一个span里面,然后把单位MB换算为GB。 下面的代码段,我遇到了些技术问题: 1.相加的数字(大小)只能加整数,无法保留两位; 2.转换那里的(input的 id="c")value值无法实时获取相加的总数; 3.在加一段代码,从32G减去已选择文件的总大小,并显示剩余选择的大小,达到32GB后,不能再继续选择。 我写了这些: ``` <input style="width:0px;height:0px" type="checkbox" value="0" checked> {loop $tags $i $m} <p> <input type="checkbox" name="type[]" value="{$m[title]}" id="type_{$k}"{if $k<0} checked{/if}/> {$m[title]} <span style="float:left;font-size:10px;">{$m[filesize]}</span> </p> {/loop} 选择的总大小:<span id="all"></span> MB 你已经选择了, <input type="text" id="c" value="0" onkeyup="calculate_g(this.value)">MB文件,或者 <input type="text" id="f" value="0" onkeyup="calculate_k(this.value)">GB文件。 <script type="text/javascript"> var allinput=document.getElementsByTagName('input'); var all=document.getElementById("all"); function getNextElement(node){ if(node.nextSibling.nodeType == 1){ //判断下一个节点类型为1则是“元素”节点 return node.nextSibling; } if(node.nextSibling.nodeType == 3){ //判断下一个节点类型为3则是“文本”节点 ,回调自身函数 return getNextElement(node.nextSibling); } return null; } for(var i=0;i<allinput.length;i++) { if(allinput[i].checked) { console.log(allinput[i]); all.innerHTML+=allinput[i].value; } allinput[i].onclick=function() { var _this=this; if(_this.checked==true) { console.log(_this); all.innerHTML =parseInt(all.innerHTML,10)+parseInt(getNextElement(_this).innerHTML,10); } else { console.log(_this); all.innerHTML =parseInt(all.innerHTML,10)-parseInt(getNextElement(_this).innerHTML,10); } } }; </script> <script type="text/javascript"> var kilo=1024; function calculate_g(val){ document.getElementById("f").value=Math.round(val/(kilo)*1000000)/1000000; } function calculate_k(val){ document.getElementById("c").value=Math.round(val*kilo*1000000)/1000000; }; </script> ```

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

我以为我学懂了数据结构,直到看了这个导图才发现,我错了

数据结构与算法思维导图

String s = new String(" a ") 到底产生几个对象?

老生常谈的一个梗,到2020了还在争论,你们一天天的,哎哎哎,我不是针对你一个,我是说在座的各位都是人才! 上图红色的这3个箭头,对于通过new产生一个字符串(”宜春”)时,会先去常量池中查找是否已经有了”宜春”对象,如果没有则在常量池中创建一个此字符串对象,然后堆中再创建一个常量池中此”宜春”对象的拷贝对象。 也就是说准确答案是产生了一个或两个对象,如果常量池中原来没有 ”宜春” ,就是两个。...

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

Linux面试题(2020最新版)

文章目录Linux 概述什么是LinuxUnix和Linux有什么区别?什么是 Linux 内核?Linux的基本组件是什么?Linux 的体系结构BASH和DOS之间的基本区别是什么?Linux 开机启动过程?Linux系统缺省的运行级别?Linux 使用的进程间通信方式?Linux 有哪些系统日志文件?Linux系统安装多个桌面环境有帮助吗?什么是交换空间?什么是root帐户什么是LILO?什...

将一个接口响应时间从2s优化到 200ms以内的一个案例

一、背景 在开发联调阶段发现一个接口的响应时间特别长,经常超时,囧… 本文讲讲是如何定位到性能瓶颈以及修改的思路,将该接口从 2 s 左右优化到 200ms 以内 。 二、步骤 2.1 定位 定位性能瓶颈有两个思路,一个是通过工具去监控,一个是通过经验去猜想。 2.1.1 工具监控 就工具而言,推荐使用 arthas ,用到的是 trace 命令 具体安装步骤很简单,大家自行研究。 我的使用步骤是...

学历低,无法胜任工作,大佬告诉你应该怎么做

微信上收到一位读者小涛的留言,大致的意思是自己只有高中学历,经过培训后找到了一份工作,但很难胜任,考虑要不要辞职找一份他能力可以胜任的实习工作。下面是他留言的一部分内容: 二哥,我是 2016 年高中毕业的,考上了大学但没去成,主要是因为当时家里经济条件不太允许。 打工了三年后想学一门技术,就去培训了。培训的学校比较垃圾,现在非常后悔没去正规一点的机构培训。 去年 11 月份来北京找到了一份工...

JVM内存结构和Java内存模型别再傻傻分不清了

JVM内存结构和Java内存模型都是面试的热点问题,名字看感觉都差不多,网上有些博客也都把这两个概念混着用,实际上他们之间差别还是挺大的。 通俗点说,JVM内存结构是与JVM的内部存储结构相关,而Java内存模型是与多线程编程相关,本文针对这两个总是被混用的概念展开讲解。 JVM内存结构 JVM构成 说到JVM内存结构,就不会只是说内存结构的5个分区,而是会延展到整个JVM相关的问题,所以先了解下

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

Google 与微软的浏览器之争

浏览器再现“神仙打架”。整理 | 屠敏头图 | CSDN 下载自东方 IC出品 | CSDN(ID:CSDNnews)从 IE 到 Chrome,再从 Chrome 到 Edge,微软与...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

搜狗输入法也在挑战国人的智商!

故事总是一个接着一个到来...上周写完《鲁大师已经彻底沦为一款垃圾流氓软件!》这篇文章之后,鲁大师的市场工作人员就找到了我,希望把这篇文章删除掉。经过一番沟通我先把这篇文章从公号中删除了...

85后蒋凡:28岁实现财务自由、34岁成为阿里万亿电商帝国双掌门,他的人生底层逻辑是什么?...

蒋凡是何许人也? 2017年12月27日,在入职4年时间里,蒋凡开挂般坐上了淘宝总裁位置。 为此,时任阿里CEO张勇在任命书中力赞: 蒋凡加入阿里,始终保持创业者的冲劲,有敏锐的...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

什么时候跳槽,为什么离职,你想好了么?

都是出来打工的,多为自己着想

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

终于懂了TCP和UDP协议区别

终于懂了TCP和UDP协议区别

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

立即提问
相关内容推荐