c# 在命令行中输入任意10个字符串,根据字符串类型将输入的数据放入到不同数组中,最后将数组进行排序

1、输入的字符串,可以是手机、邮箱、身份证等
2、只将手机、邮箱的字符串筛选出来放到两个数组中,其余的放入yi'ge'shu'zu'zhon
3、数组按照升序排序,比如数组[6,3,8,2,4],按照升序排序后结果为[2,3,4,6,8]

c#

1个回答

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;

namespace Q712950
{
    class Program
    {
        static string Classify(string s)
        {
            if (Regex.IsMatch(s, "1[35678]\\d{9}")) return "手机";
            if (Regex.IsMatch(s, @"[a-zA-Z\d_\-]+@[a-zA-Z\d_\-]+\.[a-zA-Z\d_\-]+")) return "邮箱";
            return "其它";
        }
        static void Main(string[] args)
        {
            string[] arr = new string[10];
            for (int i = 0; i < arr.Length; i++)
                arr[i] = Console.ReadLine();
            var query = arr.GroupBy(Classify).Select(x => new { key = x.Key, value = x.OrderBy(y => y) });
            foreach (var item in query)
            {
                Console.WriteLine(item.key + ":");
                Console.WriteLine("\t" + string.Join(", ", item.value));
            }
        }
    }
}

图片说明

如果问题得到解决,请点我回答左上角的采纳,谢谢

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
从键盘输入任意一个字符串和一个字符,要求从该字符串中删除所有该字符。
*题目要求* **Problem Description 从键盘输入任意一个字符串和一个字符,要求从该字符串中删除所有该字符。 Input 输入有多组测试数据。 每组两行,第一行是字符串(字符串至少还有一个字符,不多于100个),第二行是一个字符 Output 每组输出一行,删除了所有应删除字符后的字符串 Sample Input ABCDE E ASD Dfg fhd D Sample Output ABCD AS fg fhd** *我的代码:* #include <stdio.h> #include <string.h> void del_char(char *a,char ch) { int num=strlen(a); char c,bb[num]; int i=0,j=0; for(;i<strlen(a);i++) { if(a[i]!=ch) { bb[j]=a[i]; j++; } } for(i=0;i<j;i++) putchar(bb[i]); printf("\n"); } int main() { char *a,aa[100],ch; while(gets(aa)) { fflush(stdin); scanf("%c",&ch); fflush(stdin); a=aa; del_char(a,ch); } return 0; }
输入任意个英文字符串,按字符串长度由大到小顺序输出,结果字符串全都和原来输入的不一样
#include<stdio.h> #include<stdlib.h> #include<string.h> int main() { int i,k,answer=0,count=0; printf("请输入谚语:"); char **array=(char**)malloc(20*sizeof(char)); char temp[50]; char *p=temp; if(!array) printf("分配内存失败!"); for(i=0;i<20;i++) {array[i]=(char*)malloc(50*sizeof(char)); if(!array[i]) printf("分配内存失败!");} i=0; do{gets(*array+i); i=i+1; count++; printf("继续输入(0),不再输入(1)"); scanf("%d",&answer); getchar(); }while(answer==0); for(i=0;i<count-1;i++) for(k=0;k<count-1-i;k++) if(sizeof(array[k])>sizeof(array[k+1])) {*p=**(array+k); **(array+k)=**(array+k+1); **(array+k+1)=*p; } for(i=0;i<count;i++) printf("%s\n",*array+i); free(array); return 0; }
希望在输入时不能用到fgets,我的代码有一点问题
题目描述 已知正整数n,n的范围是1—100。你要从键盘读入n个字符串,每个字符串的长度不确定,但是n个字符串的总长度不超过100000。你要利用字符指针数组将这n个字符串按照ASCII码顺序进行升序排序,然后再打印到屏幕上。字符串中可能包含ASCII码中的任意字符,每个字符串以换行符结束输入。 要求:不允许定义如char str[100][100000];这样的二维数组,因为会极大的浪费内存空间。你应定义char str[100000];这样的存储空间,将n个字符串连续的存储在一维字符空间内,然后将这n个字符串的起始位置保存在字符指针数组中,再进行排序操作。 输入与输出要求:输入一个正整数n,代表待排序字符串的个数,n不超过100,然后是n个字符串,每个字符串的长度不确定,但至少包含1个字符。n个字符串的总长度不会超过100000。输出排序后的n个字符串,每个字符串占一行。 程序运行效果: Sample 1: 4↙ Where there is hope ,there is a way.↙ Welcome Beijing.↙ Nice idea.↙ Have fun.↙ Have fun.↙ Nice idea.↙ Welcome Beijing.↙ Where there is hope ,there is a way.↙ #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char str[100000]; int n, i, j, k, len; scanf("%d", &n); getchar();//将回车键进行储存 char *substr[100];//n个字符数组指针 char *b; k=0;//k初始化 j=0;//j初始化 for(i=0;i<n;i++)//将全部字符串存入数组str[100000]中 ,第i行 { scanf("%c", &str[j]); substr[k]=&str[j];//将每行字符的开头字符存入第k个数组指针中 while(str[j]!='\n')//每一行的字符串是以回车键结束,遇到回车键即跳出循环,换下一行 { j++; scanf("%c", &str[j]); } k++;//进入下一个数组指针 getchar();//将换行键储存 } str[j]='\0'; i=0; for(i=0;i<n-1;i++)//运用冒泡排序将其从小到大重新排序 { for(j=0;j<n-1-i;j++) { if(strcmp(substr[j],substr[j+1])>1) { strcpy(b,substr[j]); strcpy(substr[j],substr[j+1]); strcpy(substr[j+1],b); } } } for(i=0;i<n;i++) { printf("%s", substr[i]); printf("\n"); } return 0; }
初学字符串的实际工程问题4,5,6
编程任务编号 L: 压缩空格和换行符 任务描述 将网页中文本复制到文本编辑中经常会产生大量的连续空格和换行符。现在要求将连续的空格压缩为1个空格,连续的换行符压缩为1个换行符。 输入 1个字符以上的任意长度英文文本。注意,文本可能会很长,很长,很长。 输出 压缩空格和回车后的文本。 输入举例 It is a cat, I like it. 输出举例 It is a cat, I like it. 我的程序: #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char sentence[100001]; int i,len; gets(sentence); len=strlen(sentence); for(i=0; i<len; i++) { if((sentence[i+1]!=32)&&(sentence[i]==32)||(sentence[i+1]!=32)&&(sentence[i]!=32)||(sentence[i+1]=32)&&(sentence[i]!=32)) printf("%c",sentence[i]); } scanf("\n"); scanf("\n"); printf("\n"); gets(sentence); len=strlen(sentence); for(i=0; i<len; i++) { if((sentence[i+1]!=32)&&(sentence[i]==32)||(sentence[i+1]!=32)&&(sentence[i]!=32)||(sentence[i+1]=32)&&(sentence[i]!=32)) printf("%c",sentence[i]); } return 0; ------------------------------------------------------------------------------- 编程任务编号 M: 统计单词数 任务描述 在写文档或投稿时经常需要计算一篇文档中的单词数,先给定一篇英文的文档,请统计单词的个数。在此“1个单词”定义为:一个或多个空格或换行符分隔的字符串计为一个单词。当然,连续的空格和换行符不是“1个单词”。虽然这个定义不甚准确但实用。 输入 1个字符以上的任意长度英文文本。注意,文本可能会很长,很长,很长。输入中单词的个数可能达到4294967296(即2的32次方)个。 输出 单词的个数。 输入举例 It is a cat, I like it. 输出举例 7 注意事项 注意: 1:应该注意考虑特殊情况:例如文章开始处有若干空格或者回车的情形。 2:当以如下的方式使用字符数组输入字符串数据时: char str[此处为足够大的数组元素个数]; scanf("%s",str); 当输入字符串中包含空格、回车或者跳格字符时,空格、回车和跳格将被认为是2个字符串之间的分隔,因此用这种方法输入的字符串中不可能包含空格、回车和跳格字符的。 3:当需要以行为单位,输入一行一行的字符串,那么可利用gets(str)来输入一行字符串是,输入到字符串变量中的字符可包含空格和跳格字符,但是不能包含回车字符。对于没有给定数据长度的情况,可以利用gets( )函数的返回值为为空(它输入数据已经输入完毕)来判断输入是否结束。例如,如下形式。 char str[足够大的元素个数]; while (gets(str)!=NULL) { //每循环一次,处理每一行字符串 } 4:如果需要单个字符处理,则必须使用scanf("%c",&c);或者 ch=getchar();此时,不管任何字符都可以输入到字符变量中包括空格、回车和跳格字符。 while(scanf("%c",&ch) { //每循环一次,处理一个字符 } 我的程序: #include <stdio.h> #include <stdlib.h> #include <string.h> int main() {char word[100001]; int len,i,sum=0; gets(word); len=strlen(word); for(i=0;i<len;i++) { if(word[i]==32&&word[i+1]!=32) { sum++; } } scanf("\n"); scanf("\n"); printf("\n"); gets(word); len=strlen(word); for(i=0;i<len;i++) { if(word[i]==32&&word[i+1]!=32) { sum++; } } printf("%d",sum); return 0; } ---------------------------------------------------------------------------------- 编程任务编号 T: 英汉字典之(初级版) 任务描述 请设计一个简单的英汉字典实现从英文到汉语的翻译。 输入 第一行包含一个数字n(1≤n≤100),表示字典中词条的数目。每个词条的第一个空格前是一个英文单词,其后为中文解释。英文单词的字母个数不超过50个。中文解释的长度不超过200个汉字(包括标点和空格)。紧接着一个整数k(1≤k≤n),表示需要查阅的英文单词个数。其后k行,包含k个单词。 输出 查出每个单词的中文含义。每个单词的输出单独占一行。如果这个单词不存在,则输出Sorry, not in this dictionary! 输入举例 8 this 这, 这个, 今, 本 is 是 a 一(非特指) super 超级的,上等的, 特大的, 特级的, 十分的, 过分的, 极好的 simple 简单的, 简易的, 朴素的, 简朴的, 天真的, 率直的, 无经验的, 易受骗的 English 英文的, 英国人的, 英格兰的, 英国人, 英语 Chinese 中国的, 中国人的, 中国话的, 汉语的, 中国人, 中国话, 汉语, 中文 dictionary 字典, 词典, 辞典 3 English english dictionary 输出举例 英文的, 英国人的, 英格兰的, 英国人, 英语 Sorry, not in this dictionary! 字典, 词典, 辞典 我的程序: #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char ENGLISH[51],word[51],CHINESE[201]; int times,n,j=0,i,I=0; scanf("%d",&times); while(times--) { scanf("%s%s",ENGLISH[I],CHINESE[I]); I++; } scanf("%d",&n); while(n--) { scanf("%s",word); for(i=0;i<times;i++){ if(word==ENGLISH[j]){ printf("%s",CHINESE[j]); printf("\n");} j++;} } return 0; } ------------------------------------------------------ 编程任务编号 S: 输入法菜单的循环切换 任务描述 为了方便我们的输入中文、英文,现在我们通常会在操作系统中安装多个输入法,当需要某种输入法时,通过反复按快捷键"Ctrl+Shift"在所有输入法循环切换,直到需要的需要发出现就停止。每按一次"Ctrl+Shift"快捷键,切换到当前输入法的后一个输入法。我们假设输入法在输入法栏中的排列顺序是不变的。当我们知道当前的输入法,那么就能确定切换若干次后是哪种输入法。 输入 第一行输入一个正整数n(1≤n≤100),表示已经安装了输入法的个数。其后的n行,每行表示种输入法的名称,名称长度不超过50个英文字符。 紧接下来的一行包含一个整数k(1≤k≤100),每行表示一次表示切换操作。每行有2个整数。第一个表示当前输入法的序号(从上到下,编号从1开始),第二个表示按"Ctrl+Shift"键的次数。 输出 输入每次操作后所切换到的输入法。每次操作单独占一行。 输入举例 5 Sogou Pinyin Google Pinyin QQ Pinyin Microsoft Pinyin Tsinghua Ziguan Pinyin 5 2 4 3 5 4 6 5 7 5 19 输出举例 Sogou Pinyin QQ Pinyin Tsinghua Ziguan Pinyin Google Pinyin Microsoft Pinyin 注意事项 输入数据是请注意,接收第一整数之后,下面要输入的字符串,如果没有将输入整数后的那个回车忽略,那么下次接收字符串的时候就会读入那个回车符,导致输入不正确。处理办法由多种。方法1:可以在接收第一个整数的scanf("%d ",&n);注意这里在%d后添了一个 ,这样就能将那个回车符忽略掉。接下来接收字符串的时候用gets()就是正确地接受到第一个拼音输入的名称。方法二:使用一个额外的getchar()将这个回车读走,也可以! 我的程序: #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char srf[51][51]; int n,i,j,a,b,result,m; scanf("%d",&n); for(j=0;j<n;j++) { scanf("%s",srf[j]); } scanf("%d",&i); for(m=0;m<i;m++) { scanf("%d%d",&a,&b); result=(a+b)%n; printf("%s\n",srf[result-1]); } return 0; } ----------------------------------------------------------
php解密代码转换成c#代码
``` function mymd5($string,$action="EN") { //字符串加密和解密 global $webdb,$onlineip;//$webdb系统的一些配置信息,$onlineip 客户端ip 这个函数好像没有用到 $secret_string = $webdb[mymd5].'5*j,.^&;?.%#@!'; //绝密字符串,可以任意设定 //$webdb[mymd5] 可以自己设置一个字符串 if($string=="") return ""; if($action=="EN") $md5code=substr(md5($string),8,10); //动作是加密,则取明文的MD5码的 8到10位字符 else//动作是解密(DE) { $md5code=substr($string,-10);//取$string后10个字符 $string=substr($string,0,strlen($string)-10);//把$string倒数十个字符去掉 } $key = md5($md5code.$secret_string);//密匙 $string = ($action=="EN"?$string:base64_decode($string));//如果动作是解密则将要解密的字符串进行MIME base64解码 $len = strlen($key); $code = ""; for($i=0; $i<strlen($string); $i++) { $k = $i%$len; $code .= $string[$i]^$key[$k]; } $code = ($action == "DE" ? (substr(md5($code),8,10)==$md5code?$code:NULL) : base64_encode($code)."$md5code"); return $code; } //mymd5($ccc,"EN") 加密 mymd5($ccc,"DE") 解密 ```
大一新生学校课题其中的题目,因为老师教的比较快也不是很细致,这一段函数的不会做,有没有哥哥姐姐做个通俗易懂的,蟹蟹。
字符数组x中存有任意一串字符;串中的所有小写字母改写成大写字母,如果是大写字母改为小写字母,其他字符不变。最后把已处理的字符串仍重新存入字符数组x中,最后调用函数把结果输出到控制台中。
C语言 求大神 帮帮忙啊
任意给定一个字符串,字符串(以#结尾[字符串中有且仅最后一个字符为#])中包含除了空格、换行符之外的任意字符。你的任务是检测字符串中的小括号是否配对,即“(”与“)”是否配对。如字符串“((a+b)*(c+d))”中小括号是配对的,而“((a+b)*)c+d))”则不配对。
给一个文件夹地址,此地址中xxx是不固定长度的任意字符串 要怎么截取到这个xxx
地址如下:E:\workspace\trunk\Project\...\Tools\V12DataBackup_xxx_yy-MM-dd_hh’mm 这是我自己的代码 为什么输出的还是原来的字符串? 表示我是菜鸟 求大神指教 string str=“E:\workspace\trunk\Project\...\Tools\V12DataBackup_xxx_yy-MM-dd_hh’mm"; str.Substring(str.LastIndexOf("\\") + 1,str.LastIndexOf("_") - 1); str.Substring(str.IndexOf("_")+1,str.LastIndexOf("_")-1); MessageBox.Show(str)
在oj上显示运行时错误,有大佬能帮忙看一下吗?
问题描述: 任意给定两个字符串str1与str2, str1与str2中可以包含任意字符。你的任务是统计字符串str2在str1中出现的次数。 如字符串str1为“asasasbbbasbas”,str2为“as”,则统计结果为5。注意如果字符串str1为“aaaaa”,字符串str2为“aaa”,则统计结果为3。 输入与输出要求: 输入两个长度不超过100的字符串,以换行符结束。输出统计次数,占一行。 程序运行效果: dhd dhdhdfg dhd dh zx67 dhd mklodhdh↙ dhd↙ 6↙ #include <stdio.h> #include <stdlib.h> int main() { int i, count; char str1[102], str2[102], *s1, *s2, *str; s1=(char*)malloc(102); s2=(char*)malloc(102); str=(char*)malloc(102); fgets(str1,102,stdin); for(i=0;str1[i]!='\n';i++)//统计str1中的字符个数 { } str1[i]='\0';//将str1中的最后一个'\n'转化成'\0' fgets(str2,102,stdin); for(i=0;str2[i]!='\n';i++)//统计str2中的字符个数 { } str2[i]='\0';//将str2中的最后一个'\n'转化成'\0' count=0;//count的初始化 str=str1;//将str1的字符放入str中,能够让下面操作直接用str++ while(*str!='\0') { s1=str;//s1为str的当前判断字符 s2=str2;//s2为str2的首字符 while(*s1==*s2&&*s2!='\0')//判断两个字符串的每个字符是否相等,若相等且s2并未结束则各往后读一位字符 { s1++; s2++; } if(*s2=='\0')//跳出while循环时s2已经结束了则满足条件 { count++;//若满足条件count加一 } str++; } printf("%d", count); free(s1); free(s2); free(str); return 0; }
编程问题 C C#语言 最好能给出代码,求大神!
1.从键盘接受两个任意正整数,要求第一个正整数必须小于第二个正整数,然后把这两个数范围内(包括这两个数)的所有偶数分解为两个素数之和,并输出每个偶数以及对应的两个素数。 2.编写程序,将输入的一行字符串加密。加密时,每个字符的ASCII码依次反复加上密码表4,9,6,2,5,7,3中对应的数字。 如果相加的结果超过字符Z的ASCII码122,则进行取模运算。加密与解密的顺序相反,要求编写加密和解密两个函数, 输出各个过程的结果。 如输入“The result of 3 and 2 is not 8”,应该r加5,u加4
C语言字符串方面字符的反转问题
#include<stdio.h> int main() { int i,j,k,n,h; char s1[1024],s2[1024]; scanf("%d",&n); for(i=1;i<=n;i++)//循环输入两次 { for(j=0,k=7;j<=7&&k>=0;j++,k--) { scanf("%c",&s1[j]); s2[k]=s1[j];//换位 } for(h=0;h<=7;h++) { printf("%c",s2[h]);//输出 } } 我想任意输入长度的字符然后反转,但是这样编程循环中进行了限制,必须输入7个字符才可以,希望大神教教如何输入任意长度都可以反转
怎样用函数删去一个字符串中的其中任意一个字符,以下程序有什么错误?
#include <stdio.h> #include <string.h> char a[100]={"I am a superman!"},s[100]; int l; int delete(char c) { int i,j=0; for(i=0;i<l;i++) { if(a[i]==c) continue; else s[j++]=a[i]; } s[j]='\0'; return 0; } int main() { char c; l=strlen(a); printf("要删去的字符:"); scanf("%c",&c); delete(c); puts(s); return 0; }
按给定的替代关系对数组x中的所有字符进行替代
字符数组x中存有任意一串字符;请编制函数,按给定的替代关系对数组x中的所有字符进行替代,仍存入数组x的对应的位置上,最后调用函数把结果x输出。 替代关系:f(p)=p*11%256 (p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或f(p)对应的字符是大写字母,则该字符不变,否则将f(p)所对应的字符进行替代。
关于字符串在内存中的储存方式
#include<stdio.h> void main() { int a="@"; printf("%d",a); } 无论把@改成任意字符,结果都是4333600,我用@举例我觉得输出结果不应该是0100000000000000=16384吗?
C:分离字符串子串问题
通过键盘输入任意一个字符串序列,字符串可能包含多个子串,子串以空格分隔。请编写一个程序,自动分离出各个子串,并使用’,’将其分隔,并且在最后也补充一个’,’并将子串存储。 如果输入“abc def gh i d”,结果将是abc,def,gh,i,d, ![图片说明](https://img-ask.csdn.net/upload/201609/06/1473134436_22835.png) 我写的代码只能识别一个空格,不能识别多个空格 ``` #include <stdio.h> #include <string.h> void DividString(const char *pInputStr, long lInputLen, char *pOutputStr); int main() { char str1[101], str2[101], len, i, j; gets(str1); len = strlen(str1); DividString(str1, len, str2); puts(str2); getchar(); return 0; } void DividString(const char *pInputStr, long lInputLen, char *pOutputStr) { int i; for (i = 0; i < lInputLen; i++) { if (pInputStr[i] != ' ') pOutputStr[i] = pInputStr[i]; else if (pInputStr[i] == ' '&&pInputStr[1 + i] != ' ') pOutputStr[i] = ','; else if (pInputStr[i] == ' '&&pInputStr[1 + i] == ' ') continue; } pOutputStr[i++] = ','; pOutputStr[i] = '\0'; } ```
逆波兰表达式递归怎么理解?
#include <iostream> #include <stdlib.h> using namespace std; double exp() { char s[20]; cin>>s; switch(s[0]) { case '+':return exp()+exp(); case '-':return exp()-exp(); case '*':return exp()*exp(); case '/':return exp()/exp(); default:return atof(s); } } main() { printf("%lf",exp()); return 0; } /*以* + 11.0 12.0 + 24.0 35.0为例,第一次执行exp(),我们输入了字符串,然后switch(s[0]),碰到了乘号,返回exp()*exp(),如果以普通的函数调用来看这两个式子的任意一个,我认为都会重新执行cin>>s这个命令,而实际情况是自动跳过了*,执行了后面的语句,这让我感到疑惑。 问题一:为什么不能用普通的函数调用来看待第一次执行exp()后的结果exp()+exp()? 问题二:第一次执行完exp()后,我们输入的字符串在内存中的内容有变化吗? */
如何获取任意窗口鼠标选中文本?
我想用Java或者C语言做出来一个windows上的程序,,每当鼠标选中任意窗口的文本内容时,运行该程序,能够获取选中内容字符串,貌似网上的回答全是用js或者用C#,可是js只能在浏览器用,C#没学过,有人说用全局鼠标钩子可以,不过没查到C语言的钩子代码,希望能有大神指点一二
C++小程序,调试,在我这个基础上调试
任意输入两个字符串(如"Jiangsu China"和"hello!") 并存放在a、b两个数组中。把较短的字符串放在a数组, 较长的字符串放在b数组,并输出。#include<iostream> using namespace std; void swap(char a[], char b[], int n) { char ch; char k=0; for (int k = 0; k < n; k++) ch = a[k]; a[k] = b[k]; b[k] = ch; } int main(void) { char a[100], b[100]; cin >> a >> b; cout << "a=" << a << ",b=" << b << '\n'; int c = strlen(a), d = strlen(b); if (c > d) swap(a, b, d); cout << "a=" << a << ",b=" << b << '\n';
Java String字符串截取的问题
例如: String a="admin/aaa.jpg"; String b="testtet/aaa.jpg"; String c="1213aaa/aaa.jpg"; String d="teteagdgggg/aaa.jpg"; 前面和后面的长度都是任意的。中间的字符为 / String能根据这个/来提取字符么。提取后面的字符。 C#可以的。java不晓得具体怎么实现。希望能给出具体的代码
爬虫福利二 之 妹子图网MM批量下载
爬虫福利一:27报网MM批量下载    点击 看了本文,相信大家对爬虫一定会产生强烈的兴趣,激励自己去学习爬虫,在这里提前祝:大家学有所成! 目标网站:妹子图网 环境:Python3.x 相关第三方模块:requests、beautifulsoup4 Re:各位在测试时只需要将代码里的变量 path 指定为你当前系统要保存的路径,使用 python xxx.py 或IDE运行即可。
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、PDF搜索网站推荐 对于大部
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 顺便拉下票,我在参加csdn博客之星竞选,欢迎投票支持,每个QQ或者微信每天都可以投5票,扫二维码即可,http://m234140.nofollow.ax.
Vue + Spring Boot 项目实战(十四):用户认证方案与完善的访问拦截
本篇文章主要讲解 token、session 等用户认证方案的区别并分析常见误区,以及如何通过前后端的配合实现完善的访问拦截,为下一步权限控制的实现打下基础。
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入  假设现有4个人
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 欢迎 改进 留言。 演示地点跳到演示地点 html代码如下`&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;music&lt;/title&gt; &lt;meta charset="utf-8"&gt
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。 1. for - else 什么?不是 if 和 else 才
数据库优化 - SQL优化
前面一篇文章从实例的角度进行数据库优化,通过配置一些参数让数据库性能达到最优。但是一些“不好”的SQL也会导致数据库查询变慢,影响业务流程。本文从SQL角度进行数据库优化,提升SQL运行效率。 判断问题SQL 判断SQL是否有问题时可以通过两个表象进行判断: 系统级别表象 CPU消耗严重 IO等待严重 页面响应时间过长
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 c/c++ 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7
通俗易懂地给女朋友讲:线程池的内部原理
餐厅的约会 餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”我楞了一下,心里想女朋友今天是怎么了,怎么突然问出这么专业的问题,但做为一个专业人士在女朋友面前也不能露怯啊,想了一下便说:“我先给你讲讲我前同事老王的故事吧!” 大龄程序员老王 老王是一个已经北漂十多年的程序员,岁数大了,加班加不动了,升迁也无望,于是拿着手里
经典算法(5)杨辉三角
写在前面: 我是 扬帆向海,这个昵称来源于我的名字以及女朋友的名字。我热爱技术、热爱开源、热爱编程。技术是开源的、知识是共享的。 这博客是对自己学习的一点点总结及记录,如果您对 Java、算法 感兴趣,可以关注我的动态,我们一起学习。 用知识改变命运,让我们的家人过上更好的生活。 目录一、杨辉三角的介绍二、杨辉三角的算法思想三、代码实现1.第一种写法2.第二种写法 一、杨辉三角的介绍 百度
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹
面试官:你连RESTful都不知道我怎么敢要你?
面试官:了解RESTful吗? 我:听说过。 面试官:那什么是RESTful? 我:就是用起来很规范,挺好的 面试官:是RESTful挺好的,还是自我感觉挺好的 我:都挺好的。 面试官:… 把门关上。 我:… 要干嘛?先关上再说。 面试官:我说出去把门关上。 我:what ?,夺门而去 文章目录01 前言02 RESTful的来源03 RESTful6大原则1. C-S架构2. 无状态3.统一的接
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看
SQL-小白最佳入门sql查询一
一 说明 如果是初学者,建议去网上寻找安装Mysql的文章安装,以及使用navicat连接数据库,以后的示例基本是使用mysql数据库管理系统; 二 准备前提 需要建立一张学生表,列分别是id,名称,年龄,学生信息;本示例中文章篇幅原因SQL注释略; 建表语句: CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // dosho
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,
程序员:我终于知道post和get的区别
IT界知名的程序员曾说:对于那些月薪三万以下,自称IT工程师的码农们,其实我们从来没有把他们归为我们IT工程师的队伍。他们虽然总是以IT工程师自居,但只是他们一厢情愿罢了。 此话一出,不知激起了多少(码农)程序员的愤怒,却又无可奈何,于是码农问程序员。 码农:你知道get和post请求到底有什么区别? 程序员:你看这篇就知道了。 码农:你月薪三万了? 程序员:嗯。 码农:你是怎么做到的? 程序员:
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
      11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员
Android 9.0系统新特性,对刘海屏设备进行适配
其实Android 9.0系统已经是去年推出的“老”系统了,这个系统中新增了一个比较重要的特性,就是对刘海屏设备进行了支持。一直以来我也都有打算针对这个新特性好好地写一篇文章,但是为什么直到拖到了Android 10.0系统都发布了才开始写这篇文章呢?当然,一是因为我这段时间确实比较忙,今年几乎绝大部分的业余时间都放到写新书上了。但是最主要的原因并不是这个,而是因为刘海屏设备的适配存在一定的特殊性
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI 算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC
【技巧总结】位运算装逼指南
位算法的效率有多快我就不说,不信你可以去用 10 亿个数据模拟一下,今天给大家讲一讲位运算的一些经典例子。不过,最重要的不是看懂了这些例子就好,而是要在以后多去运用位运算这些技巧,当然,采用位运算,也是可以装逼的,不信,你往下看。我会从最简单的讲起,一道比一道难度递增,不过居然是讲技巧,那么也不会太难,相信你分分钟看懂。 判断奇偶数 判断一个数是基于还是偶数,相信很多人都做过,一般的做法的代码如下
日均350000亿接入量,腾讯TubeMQ性能超过Kafka
整理 | 夕颜出品 | AI科技大本营(ID:rgznai100) 【导读】近日,腾讯开源动作不断,相继开源了分布式消息中间件TubeMQ,基于最主流的 OpenJDK8开发的
8年经验面试官详解 Java 面试秘诀
    作者 | 胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。   Java程序员准备和投递简历的实
面试官如何考察你的思维方式?
1.两种思维方式在求职面试中,经常会考察这种问题:北京有多少量特斯拉汽车? 某胡同口的煎饼摊一年能卖出多少个煎饼? 深圳有多少个产品经理? 一辆公交车里能装下多少个乒乓球? 一
相关热词 c# 引用mysql c#动态加载非托管dll c# 两个表数据同步 c# 返回浮点json c# imap 链接状态 c# 漂亮字 c# 上取整 除法 c#substring c#中延时关闭 c#线段拖拉
立即提问