java小程序(2)

2023-05-16

【文章标题】java小程序(2

【文章作者】曾健生

【作者邮箱】zengjiansheng1@126.com

【作者QQ190678908

【作者声明】本人水平有限,失误之处,敬请各位指出。本人以前写的一些小程序,分享一下希望对各位学习java有帮助 ^-^

*******************************************************************************

题目:

 

/*====第八题====================================

取出一个文本文件中所有的email地址,并存放到集合中。

 

*/

 

/*====第九题====================================

通过键盘录入的方式,进行猜数字的游戏。

要求:输入一个1~100之间的数字,

与预先给定数字不同,要给出大或者小的提示。

*/

 

/*====第十题====================================

 假如我们在开发一个系统时需要对员工进行建模,员工包含 3 个属性:

姓名、工号以及工资。经理也是员工,除了含有员工的属性外,另为还有一个

奖金属性。请使用继承的思想设计出员工类和经理类。要求类中提供必要的方

法进行属性访问。

 

*/

 

/*====第十一题==================================

字符串由多个数字和空格组成“20 8 0 -1 32 14

将字符串中的数字按数值大小升序排列,获取排序后的字符串。

*/

 

/*====第十二题==================================

写一个程序,允许用户依次输入多个姓名和住址,

并能将用户的输入保存到文件中。

用户输入 quit 表示输入完毕,程序退出。

*/

 

/*====第十三题==================================

找出一个整数数组{2,4,1,4,3,2,4,3,2}出现次数最多的数。

*/

 

/*====第十四题==================================

给定两个字符串,比较两个字符串中最大相同的子串.

*/

 

/*====第十五题==================================

编写一个程序,记录该程序运行次数。运行满足30次,就提示用户“软件试用期限已到”;

*/

 

/*====第十六题==================================

已知文件a.txt文件中的内容为“bcdeadferwplkou”,

请编写程序读取该文件内容,并按照自然顺序排序后输出到b.txt文件中。

b.txt中的文件内容应为“abcd…………..”这样的顺序。

 

 

 

 

/*====第八题====================================

取出一个文本文件中所有的email地址,并存放到集合中。

 

思路:

1,通过字符流(FileReader)来读取一个文件。比较高效的方式是一行一行读。

就通过BufferedReaderreadLine方法。

2,通过正则规则来对一行文本进行规则的取出。

       a,先把规则封装成对象。Pattern.compilereg)返回一个正则对象。

       让该对象与该行字符串建立联系。调用该对象的一个matcher方法。将所要匹配的字符串传给matcher方法。

       该方法返回一个匹配器对象。该对象可以通过find()找到所匹配的内容,在通过group方法取出该内容。

3,将匹配的内容存入集合(建立用hashset,因为可以保证email的唯一性。)。

*/

 

 

import java.util.*;

import java.util.regex.*;

import java.io.*;

 

class FindEmail

{

       TreeSet<String> set;

       BufferedReader br;

       String filePath;

      

       FindEmail( String filePath )

       {

              this.filePath=filePath;

              set=new TreeSet<String>();

       }

      

       public void start()

       {

             

              listFile() ;

              printEmailAddress();

             

       }

      

       //遍历文件的每一行

       private void listFile()

       {

              try

              {

                     br=new BufferedReader( new FileReader("1.txt"));    

                     String s=null;

                     while( (s=br.readLine())!=null )

                     {

                           

                            matchRegex(s);

                     }

              }

              catch( Exception e)

              {

                     e.printStackTrace();

              }

              finally

              {

                     if( br!=null )

                     {

                            try

                            {

                                   br.close();

                            }

                            catch( IOException e )

                            {

                                   e.printStackTrace();

                            }

                     }

                    

              }

       }

      

       //找出每一行中的邮件地址

       private void  matchRegex( String str)

       {

              Pattern pa = Pattern.compile( "//b//w+@[a-zA-Z0-9]+(//.[a-zA-Z]+)+//b" );

              Matcher matcher=pa.matcher( str );

             

              while( matcher.find() )

              {

                     String s=matcher.group();

                     //System.out.println(s);

                     set.add( s );

              }

             

       }

      

       //把遍历到的邮件地址输出

       private void printEmailAddress()

       {

             

              Iterator<String> i=set.iterator();   

              while( i.hasNext())

              {

                    

                     System.out.println( i.next());

              }

       }

      

      

      

      

}

 

class Demo

{

       public static void main(String args[] )

       {

              new FindEmail("1.txt").start();

       }

}

 

/*====第九题====================================

通过键盘录入的方式,进行猜数字的游戏。

要求:输入一个1~100之间的数字,

与预先给定数字不同,要给出大或者小的提示。

思路:

1,建立随机数。

       通过Random类。nextInt方法

2,读取键盘,获取键盘录入数字。

       一行一行的读很方便。通过将System.in。进行转换并包装。使用readLine方法。

3,将获取数字与随机数进行比较。

      

4,进行相关判断。

       通过NubmerFormatException确定是否是数字。

 

*/

 

import java.util.*;

 

import java.io.*;

 

class GuessNumber

{

       private int num=0;

       BufferedReader br;

       String input;

       int inputNum;

       GuessNumber()

       {

              num=new Random().nextInt(100);

              br=new BufferedReader( new InputStreamReader(System.in));

       }

      

       //游戏开始进入无限循环,直到猜中为止

       public void startGuess()

       {

              while( true )

              {

                     System.out.print("请输入数字:");

                    

                     try

                     {

                            input=br.readLine();

                     }

                     catch( IOException e )

                     {

                            e.printStackTrace();

                            continue;

                     }

                    

                     //判断输入的是否是数字

                     try

                     {

                            inputNum=Integer.parseInt( input );

                     }

                     catch( NumberFormatException e )

                     {

                            System.out.println("输入的不是数字,请重新输入");

                            continue;

                     }

                    

                     if( judgeWin( inputNum ) )

                     {

                            break;

                     }

              }

             

              closeInput();

             

       }

      

       //判断结果,如果没猜中则给出相关的提示并返回假,如果猜中就返回真

       private boolean judgeWin( int inputNum )

       {

              boolean flag=false;

              if( num>inputNum )

              {

                     System.out.println("小了");

              }

              else if( num<inputNum )

              {

                     System.out.println("大了了");

              }

              else

              {

                     System.out.println("恭喜猜中了");

                     flag=true;

              }

              return flag;

             

             

       }

      

       //关闭输入流

       private void closeInput()

       {

             

              if( br!=null )

              {

                     try

                     {

                            br.close();

                     }

                     catch( Exception e )

                     {

                            e.printStackTrace();

                     }

              }

       }

}

 

class Demo

{

       public static void main(String args[] )

       {

              new GuessNumber().startGuess();

       }

}

 

 

/*====第十题====================================

 假如我们在开发一个系统时需要对员工进行建模,员工包含 3 个属性:

姓名、工号以及工资。经理也是员工,除了含有员工的属性外,另为还有一个

奖金属性。请使用继承的思想设计出员工类和经理类。要求类中提供必要的方

法进行属性访问。

 

思路:

员工分普通员工和经理。

1,首先将两个共性的东西向上抽取。(姓名,ageid,工资。有一个工作方法。)

       因为普通和经理工作内容不同。需要这两个子类自己去实现。那么该方法是抽象的。(好处,普通和经理只要是员工就必须工作,强制性。)

2,在定义经理类,除了拿到父类中共性的东西,他还有特性的东西。(奖金)

*/

 

//工作类的抽象

abstract class Worker

{

       private String name;

       private String ID;

       private double  pay;

      

       Worker( String name, String ID, double pay )

       {

              this.name=name;

              this.ID=ID;

              this.pay=pay;

       }

      

       public void  setName( String name )

       {

              this.name=name;

       }

      

       public String getName()

       {

              return name;

       }

      

       public void setID( String ID )

       {

              this.ID=ID;

       }

      

       public String getID()

       {

              return ID;

       }

      

       public void setPay( double pay )

       {

              this.pay=pay;

       }

      

       public double getPay()

       {

              return pay;

       }

      

       abstract public void work();

             

}

 

//这是工人类

class  Employee extends Worker

{

       Employee( String name, String ID, double pay )

       {

              super( name,ID,pay );

       }

      

       //强制实现了工作方法

       @Override

       public void work()

       {

              System.out.println( "Employee work" );

       }

}

 

//这是经理类

class  Manager extends Worker

{

       private double bouse;

       Manager( String name, String ID, double pay, double bouse )

       {

              super( name,ID,pay );

              this.bouse=bouse;

       }

      

       //强制实现了工作方法

       @Override

       public void work()

       {

              System.out.println( "Manager work" );

       }

}

 

 

/*====第十一题==================================

字符串由多个数字和空格组成“20 8 0 -1 32 14

将字符串中的数字按数值大小升序排列,获取排序后的字符串。

 

思路:

1,将给定字符串按照规则(空格)进行切割变成字符串数组.

2,将字符串数组中的元素转成int型的值存入int数组中.

3,对数组进行排序.

4,将数组在变成字符串.

       a.整型数组变成字符串可以同临时定义一个容器(StringBuffer),

       对元素进行存储.

       b.在将StringBuffer.toString变成字符串.

*/

 

import java.util.*;

class Demo

{

       public static void main(String agrs[]) throws Exception

       {

              String s="20 8 0 -1 32 14";

              TreeSet<Integer> set=new TreeSet<Integer>();

              StringBuffer sb=new StringBuffer();

              String charArray[]=s.split(" ");

             

             

              for( int i=0; i< charArray.length; i++ )

              {

                     set.add(  Integer.parseInt( charArray[i] ));

              }

             

              Iterator<Integer> i=set.iterator();

              while( i.hasNext() )

              {

                     sb.append( i.next()+" " );

              }

             

              System.out.println( sb.toString() );

             

       }

}

 

 

/*====第十二题==================================

写一个程序,允许用户依次输入多个姓名和住址,

并能将用户的输入保存到文件中。

用户输入 quit 表示输入完毕,程序退出。

*/

 

import java.util.*;

import java.io.*;

 

class Demo

{

       public static void main(String agrs[])

       {

              BufferedReader br=new BufferedReader(

                     new InputStreamReader( System.in ));

              String s=null; //保存输入的数据

              HashSet<String> set=new HashSet<String>();

              //输入的格式为"姓名,地址“

              try

              {

                     while( (s=br.readLine())!=null )

                     {

                            if( s.equals("quit") )

                            {

                                   break;

                            }

                            set.add( s );

                     }

              }

              catch( IOException e )

              {

                     e.printStackTrace();

              }

             

              saveData( set );

             

       }

      

       //把信息保存到文件上

       static void saveData( HashSet<String> set )

       {

              BufferedWriter bw;

              try

              {    

                     bw=new BufferedWriter( new FileWriter("log.txt"));

              }

              catch( IOException e )

              {

                     System.out.println("文件写入错误");

                     return;

              }

             

              String s[]=null;

              String inputStr=null;

             

              Iterator<String> i=set.iterator();

              while( i.hasNext() )

              {

                     inputStr=i.next();

                     s=inputStr.split(",");

                     try

                     {

                            bw.write( "姓名:"+s[0] +" 地址"+s[1] );

                            bw.newLine();

                     }

                     catch( IOException  e )

                     {

                            e.printStackTrace();

                            System.out.println("文件写入错误");

                     }

                    

              }

             

              try

              {

                     bw.close();

              }

              catch( IOException e )

              {

                     e.printStackTrace();

              }

       }

      

}

 

 

/*====第十三题==================================

找出一个整数数组{2,4,1,4,3,2,4,3,2}出现次数最多的数。

*/

 

import java.util.*;

import java.io.*;

class CountMaxNum

{

       private int num[];

       private int maxNum; //记录最大出现的数字

       private int countNum;    //记录最大出现的数字出现的次数

       private HashMap<Integer,Integer> map;

       CountMaxNum( int num[] )

       {

              this.num=num;

              map=new HashMap<Integer,Integer>();

              maxNum=0; //记录最大出现的数字

              countNum=0; //记录最大出现的数字出现的次数

             

       }

      

       public void start()

       {

              inputSet();

              printString();

       }

      

       /*

       利用了map容器“不允许重复元素”和“键和值一一对应”的特点

       1.遍历数组中的每个元素

       2.检查遍历到的元素是否已在map容器中

       3.如果元素不在容器中,初始化出现次数为1,把“元素,出现次数”放入容器中

       4.如果元素在容器中,把出现的次数取出来加1后再把“元素,出现次数”放入容器中

       5.用计数器记录最大出现次数

       */

       private void inputSet()

       {

              for( int i=0; i<num.length; i++ )

              {

                     //如果元素在容器中,把出现的次数取出来加1后再把“元素,出现次数”放入容器中

                     if( map.containsKey( num[i] ))

                     {

                            map.put( num[i], map.get( num[i] )+1 );

                     }

                     else //元素不在容器中,初始化出现次数为1,把“元素,出现次数”放入容器中

                     {

                            map.put( num[i],1 );

                     }

              }

       }

      

       //用遍历的方法,定义一个计数器记录出现次数最大的数

       private void printString()

       {

              ArrayList<Integer> arr=new ArrayList<Integer>(); //记录出现最多的数字

              Iterator<Map.Entry<Integer,Integer>> iter=map.entrySet().iterator();

              while( iter.hasNext() )

              {

                     Map.Entry<Integer,Integer> i=iter.next();

                     if( countNum<i.getValue() )

                     {

                            countNum=i.getValue();

                            maxNum=i.getKey();                  

                     }                  

              }

             

              Iterator<Map.Entry<Integer,Integer>> it=map.entrySet().iterator();

              //根据maxNum取出次数最多的元素

              while( it.hasNext() )

              {

                     Map.Entry<Integer,Integer> i=it.next();

 

                     if( countNum==i.getValue() )

                     {

                            System.out.println( i.getKey() );                 

                     }                  

              }

             

       }

}

 

class Demo

{

       public static void main(String agrs[])

       {

              int num[]={ 12,14,11,14,13,12,14,13,12 };

              new CountMaxNum( num ).start();            

       }

}

 

 

/*====第十四题==================================

给定两个字符串,比较两个字符串中最大相同的子串.

*/

 

import java.util.*;

class Demo

{

       public static void main(String agrs[])

       {

              String str="dsadfdfdsf";

              String findstr="sdfd"      ;

              String find=null;

              HashSet<String> set=new HashSet<String>(); //记录最大相同子集

              for( int i=0; i<str.length(); i++ )

              {

                     boolean flag=false; //定义标记,记录是否有最大子串

                     for( int j=0,z=findstr.length()-i;

                            z<=findstr.length();j++,z++)

                     {

                            if( str.contains(

                                   findstr.substring( j,z )))

                            {

                                   flag=true;

                                   set.add(findstr.substring( j,z ) );

                            }

                     }

                    

                     if( flag )

                     {

                            break;

                     }

              }

             

              //遍历集合,取出最大相同子集

              Iterator<String> i=set.iterator();

              while( i.hasNext() )

              {

                     System.out.println( i.next() );

              }

       }

}

 

/*====第十五题==================================

编写一个程序,记录该程序运行次数。运行满足30次,就提示用户“软件试用期限已到”;

思路:

原理是通过一个配置文件来实现运行次数的记录。每一次运行后都将该配置文件中的数值进行更改。

通常这种配置文件都是以 属性=属性值 的形式。这样可以记录多个属性信息。

 

1,在应用程序第一次运行前该文件是不存在的。所以第一运行时要先对该文件进行判断。不存在就创建,

2,既然要读取硬盘上的文件。就通过流和该文件关联。

3,既然又有属性又有值,就是键值对的形式。可以想到map集合。那么使用哪个map集合的子类呢?

   如何能把流中的数据存入到集合中呢?Map集合的子类HashTable有一个子类Properties.正好可以做这件事。

   该对象有一个方法load.可以直接加载流。并把流中的数据按照键值对的形式存入Properties集合中.

   (注意:流中的数据必须要有固定的格式如:)

 

*/

 

import java.io.*;

import java.util.*;

 

class Demo

{

       public static void main(String arsg[])

       {

              Properties pro=new Properties( );

              File f=null;

              FileInputStream fis=null;

              FileOutputStream fos=null;

              try

              {    

                     f=new File( "info.ini" );

                     if( !f.exists() )

                     {

                            f.createNewFile();

                     }

                     fis=new FileInputStream( f );

                     pro.load( fis );

              }

              catch( Exception e )

              {

                     System.out.println( "文件读写有误" );

              }

              int count=Integer.parseInt( pro.getProperty("runtimes") );

             

              //判断是否运行过期

              if( count>30 )

              {

                     System.out.println(  "软件已过期,请注册" );

              }

              else //软件没过期,输入新的运行次数

              {

                     count++;

                     try

                     {

                            pro.setProperty( "runtimes",

                                   new Integer(count).toString() );

                           

                            fos=new FileOutputStream( f );

                            pro.store( fos,"" );

                     }

                     catch( Exception e )

                     {

                            e.printStackTrace();                          

                     }

                     finally

                     {

                            try

                            {

                                   fis.close();

                                   fos.close();

                                  

                            }

                            catch( IOException e )

                            {

                                   e.printStackTrace();

                            }

                     }

              }

             

             

       }

}

 

 

/*====第十六题==================================

已知文件a.txt文件中的内容为“bcdeadferwplkou”,

请编写程序读取该文件内容,并按照自然顺序排序后输出到b.txt文件中。

b.txt中的文件内容应为“abcd…………..”这样的顺序。

思路:

1,将该文件读取将数据取出,变成字符串

       a.因为是文本文件。可以直接用字符流(FileReader

       b.为了提高效率,并方便获取数据。对其进行包装(BufferedReader)使用readLine方法一行一行读。

2,把字符串变成字符数组,对该数组进行排序。

       a.通过字符创的toCharArray方法,将字符串变成字符数组。

       b.自定义排序功能函数(冒泡,选择都可以)对字符数组进行排序。

3,把排序后的数组变成字符串,并通过流将字符串写入b.txt文件中。

       a.通过String类的构造函数将字符数组变成字符串。

       b.通过FileWriter把字符串写入到b.txt文件中。

*/

 

 

import java.io.*;

 

//对字符数组进行排序的类

class SortChar

{

       private String str;

       private char arrayList[];

       private BufferedReader br; //字符流

       private File f; //读取的文件

      

       SortChar( String s )

       {

              f=new File( s );

       }

      

       public void start()

       {

             

              if( inputData()==-1 )

              {

                     return;

              }

             

              //对字符数组进行冒泡排序

              sortChar(  );

      

              //把排序后的数组变成字符串,并通过流将字符串写入b.txt文件中。

              outputString();

             

       }

      

       //通过BufferedReader读取文本中的字符串

       //读取文件失败返回-1,成功返回1

       private int  inputData()

       {

              try

              {

                     br=new BufferedReader( new FileReader(f));

                     //读取文本的内容

                     while( (str=br.readLine())!=null )

                     {

                            //把所有字母转换为小写

                            str.toLowerCase();

                            arrayList=str.toCharArray(); 

                     }

              }

              catch( IOException e )

              {

                     System.out.println( "读取文件出错!" );

                     e.printStackTrace();

                     return -1;              

              }

              finally

              {

                     //关闭输入流

                     if( br!=null )

                     {

                            try

                            {

                                   br.close();

                            }

                            catch( IOException e )

                            {

                                   e.printStackTrace();

                            }

                     }

              }

              return 1;

       }

      

       //对字符数组进行冒泡排序

       private void sortChar(  )

       {

              char temp=0;

              for( int i=0; i<arrayList.length-1; i++ )

              {

                     for( int j=0; j<arrayList.length-i-1; j++ )

                     {

                            if( arrayList[j]>arrayList[j+1] )

                            {

                                   temp=arrayList[j];

                                   arrayList[j]=arrayList[j+1];

                                   arrayList[j+1]=temp;            

                            }

                     }

              }

       }

      

       /*

       把排序后的数组变成字符串,并通过流将字符串写入b.txt文件中。

       a.通过String类的构造函数将字符数组变成字符串。

       b.通过FileWriter把字符串写入到b.txt文件中。

       */

       private void outputString()

       {

              BufferedWriter bw=null;

              try

              {

                     FileWriter fw = new FileWriter("b.txt");

                     bw = new BufferedWriter(fw);

                    

                     //把排序完成后的字符串重新写入到文件中

                     bw.write( new String( arrayList,0,arrayList.length ));

                     bw.flush();

              }

              catch( IOException e )

              {

                     e.printStackTrace();

              }

              finally

              {

                     //关闭输入流

                     if( bw!=null )

                     {

                            try

                            {

                                   bw.close();

                            }

                            catch( IOException e )

                            {

                                   e.printStackTrace();

                            }

                     }

              }

       }

}

 

class Demo

{

       public static void main(String arsg[])

       {

              new SortChar( "a.txt" ).start();

             

       }

}

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java小程序(2) 的相关文章

  • 9.app后端选择什么服务器

    对于很多刚入行的朋友来说 xff0c 不清楚应该选择什么样的服务器提供商 xff0c 是选择传统的IDC 租用服务器租用机柜 xff0c 还是选择现在很火的云服务器呢 xff1f 在本文中 xff0c 通过对比传统的IDC和云服务 xff0
  • 10.app后端选择什么开发语言

    在qq上 xff0c 经常看到有创业团队的创始人一直都招不到技术人员 xff0c 除了项目的因素外 xff0c 很大的原因就是所需要掌握的开发语言偏门 通过阅读本文 xff0c 详细了解选择开发语言的核心原则 xff0c 使各位心里对开发语
  • 11.如何快速进门新技术

    在app后端的工作中 xff0c 经常会接触到新的技术 作为一名后端人员 xff0c 面对开发的压力 xff0c 快速地入门新的技术 xff0c 融入到项目当中 xff0c 这已经成了一个后端人员的必备技能 在这篇文章 xff0c 根据总结
  • 12.app后端如何选择合适的数据库产品

    app后端的开发中 xff0c 经常要面临的一个问题是 xff1a 数据放在哪里 mysql xff1f redis xff1f mongodb xff1f 现在有这么多优秀的开源数据库产品 xff0c 怎么根据业务场景来选择合适的数据 常
  • 13.app后端为什么要用到消息队列

    很多没有实际项目经验的小伙伴 xff0c 对消息队列系统非常陌生 xff0c 看着很多架构的介绍中 xff0c 都提到消息队列 但是 xff0c 不知道为什么要用消息队列 xff1f 什么是消息队列 xff1f 常见的消息队列产品有哪些 x
  • 14.app后端如何设计api

    app和后端的交互 xff0c 一般都是通过后端提供的api实现 api的设计 xff0c 估计很多刚进入app后端的小伙伴会一无头绪 xff0c 不知道怎么入门 下面根据自己3年的app后端经验 xff0c 总结出下几个api设计原则 x
  • 15.app后端怎么设计用户登录方案

    在很多app中 xff0c 都需要用户的登录操作 登录 xff0c 就需要用到用户名和密码 为了安全起见 xff0c 暴露明文密码的次数越少越好 怎么能最大程度避免泄露用户的密码呢 xff1f 在登录后 xff0c app后端怎么去验证和维
  • Struts 1 中DispatcherAction类原理浅析

    文章标题 Struts 1 中 DispatcherAction 类原理浅析 文章作者 曾健生 作者邮箱 zengjiansheng1 64 126 com 作者 QQ 190678908 作者声明 本人水平有限 xff0c 失误之处 xf
  • Python 高级编程技巧 第二讲 内置不可变类型并修改其实例化行为、slots属性、contextmanager上下文管理器、创建可管理对象属性、类比较操作

    第二讲 一 如何派生内置不可变类型并修改其实例化行为 这里有一道练习题 xff0c 我们想定义一个新类型的元组 xff0c 对于传入的可迭代对象 xff0c 我们只保留其中int类型并且值还要大于0 或许我们可以这么写 xff0c 尝试一下
  • 16.app后端如何保证通讯安全--url签名

    app和后端的通讯过程中 xff0c api请求有可能被别人截取或不小心泄露 那么 xff0c 怎么保证api请求的安全呢 xff1f 在这篇文章中 xff0c 介绍一种常见的保证api请求安全的做法 url签名 1 url签名详解 在前一
  • 17.app后端如何保证通讯安全--aes对称加密

    在上文 16 app后端如何保证通讯安全 url签名 提到 xff0c url签名有两个缺点 xff0c 这两个缺点 xff0c 如果使用对称加密方法的话 xff0c 则完全可以避免这两个缺点 在本文中 xff0c 会介绍对称加密的具体原理
  • 18.app后端如何实现LBS

    移动互联网 xff0c 除了一直在线这个特点外 xff0c 还有一个重要特点 xff0c 能定位到手机的位置 查找附近的人 附近的餐馆等服务 xff0c 以及大量的o2o应用 都需要使用LBS Location Based Services
  • 19.最省钱的app发短信方法

    在创业团队中 xff0c 一个重要的原则是能省就省 xff0c 该花就花 xff0c 把银子用在刀刃上 现在的app xff0c 为了获取用户的社交关系 xff0c 需要用户的手机号注册 用手机号注册就涉及到一个发送短信验证码的问题 xff
  • 20.如何从app业务逻辑提炼api接口

    在app后端的工作中 xff0c 设计api是一个很考验设计能力的工作 在项目的初始阶段 xff0c 只知道具体的业务逻辑 xff0c 那怎么把业务逻辑抽象和提炼 xff0c 设计出api呢 xff1f 通过阅读本文 xff0c 可解答以上
  • 21.app后端如何高效更新内容

    在app的主页或通知栏 xff0c 经常需要通过api取最新的数据 那么 xff0c 怎么在这部分上做优化 xff0c 使获取内容的效率更高呢 xff1f 在本文中 xff0c 通过推拉和增量更新 xff0c 实现了一种高效获取数据的策略
  • 22.在创业公司中的成长

    在 app后端 qq群中 xff0c 经常被问到的一个问题 xff1a 怎么设计一个应付高并发的架构 诚然 xff0c 设计一个能应付百万流量的高并发架构 xff0c 是很令人兴奋的技术挑战 xff0c 但在创业公司中的成长 xff0c 难
  • 23.app后端如何架设文件系统

    现在app展现内容的形式多种多样的 xff0c 有文字 xff0c 图片 xff0c 声音 xff0c 视频等等 xff0c 其中文件占了一个很大的比重 随着app不断运营 xff0c 文件会越来越多 xff0c 占用的磁盘空间也不断增大
  • 24.从公众号筹集10万股份学到的商业化思维

    1 忽然间看到了卖公众号的股份的玩法 昨天 xff0c 在公众号 老鹰说 id joeytalks 看到了他要弄一个新的玩法 xff0c 卖公众号的股份 xff0c 熟人1000块一股 xff0c 陌生人2000块一股 当时不以为然 xff
  • 25.创业真的需要app吗?真的需要外包吗?

    两个星期前 xff0c 一名亲戚的朋友打算投入自己的二十多万元去搞个摄影社交app xff0c 问我有没有靠谱的外包推荐 xff0c 我赶紧劝住他 xff0c 现在app的成本已经非常高了 xff0c 初期的研发就要十几万 xff0c 加上
  • HarmonyOS鸿蒙的测试体验

    HarmonyOS 2 0手机开发者Beta公测招募 xff0c 申请开发者账号 xff0c 报名 xff0c 就可以抢先体验 除了抢先体验 xff0c 使用真机测试外 xff0c 使用模拟器也可以尝试体验 那测试人员可以使用HVD和Clo

随机推荐

  • 单点登录 Ucenter 分析

    原文 xff1a http blog csdn net ebw123 article details 9417231 首先我们先来了解下 Ucenter登录步骤 1 用户登录discuz xff0c 通过logging php文件中的函数u
  • 当Ucenter和应用通信失败

    http blog sina com cn s blog 775f158f010135uz html 失败是常见的 对于初次接触Ucenter的人来讲 xff0c 添加一个自己的应用最头疼的就是发现通信失败 如果要解决这个问题 xff0c
  • 26.app后端怎么架设推送服务

    推送服务已经是app的标配了 架设推送服务 xff0c 除了可以使用第三方服务商外 xff0c 也有大量的开源技术可以选择 现在推送主要分两块 xff0c android推送和ios推送 xff0c 在下面分别论述 xff1a 1 Andr
  • 27.app后端搭建聊天服务器的经历

    现在 xff0c 聊天功能已经成了社交app的标配了 但是 xff0c 众多web开发出生的程序员对聊天相关的服务的不了解 xff0c 带来了很多开发上的困扰 在这篇文章中 xff0c 根据下面3个方面 xff0c 谈谈聊天服务 1 聊天服
  • 29.满大街创业团队的年代,一不小心就被忽悠

    长期呆在创业团队中 xff0c 我人品不咋的 xff0c 遇到过各种坑人的项目和团队 下面讲讲3件坑人的事情 1 不靠谱的项目 在第二个创业项目失败后一个星期 xff0c 以前的UI andy忽然找上我 xff0c 有个老板想投资个项目 x
  • (转)cookie和session机制之间的区别与联系

    出处为中国JAVA手机网 lt www cnjm net gt http www cnjm net tech article1113 html 具体来说cookie机制采用的是在客户端保持状态的方案 它是在用户端的会话状态的存贮机制 xff
  • 30.因为绘画,我在豆瓣上认识了老婆

    导读 xff1a 这篇文章的上半部分 xff0c 是我2011年在豆瓣上发表的 五天学会绘画 书评 xff0c 我和老婆就相识于这个书评 后记部分 xff0c 是对绘画 xff0c 和用互联网方法找女友的一些思考 五天学会绘画 xff0c
  • 对太极拳中的“势”有所领悟

    文章标题 对太极拳中的 势 有所领悟 文章作者 曾健生 作者邮箱 zengjiansheng1 64 126 com 作者 QQ 190678908 今天帮一个亲戚搬杂物 xff0c 从三楼的杂物房搬到一楼的花园 开始领悟 势 是搬一个很重
  • 本人写的Android上RSS阅读器简单介绍

    文章标题 本人写的 Android 上 RSS 阅读器简单介绍 文章作者 曾健生 作者邮箱 zengjiansheng1 64 126 com 作者 QQ 190678908 个人博客 http blog csdn net newjueqi
  • 整合 ucenter 注册自动激活

    http my oschina net banbo blog 311691 应用整合 UCenter xff0c 同步注册到 Discuz 的用户 xff0c 在 Discuz 登录时得手动激活 xff0c 用户体验很不好 xff0c 不过
  • switch case语句用法详解

    switch 开关 的意思 xff0c 是一种 选择 语句 xff0c 它用法非常简单 switch 是多分支选择语句 说得通俗点 xff0c 多分支就是多个 if语句的组合 从功能上说 xff0c switch 语句和 if 语句完全可以
  • 32.APP后端处理表情的一些技巧

    app应用中文字夹带表情是个很常见的现象 甚至一些40多岁的大叔级用户 xff0c 也喜欢在自己的昵称中夹带表情 xff0c 在产品运营后发现这个现象 xff0c 彻底颠覆了我的世界观 在后台处理表情的时间 xff0c 我遇到过下面3个问题
  • 33.APP后端处理视频的方案

    在当前的app应用中 xff0c 到处都能看到视频的身影 xff0c 例如 xff0c 在社交类的app上 xff0c 用户可以拍摄属于自己的小视频 xff0c 并发布到相应得栏目 xff0c 增加和好友们互动的机会 后台常见的视频处理有以
  • 34.如何获取app(apk和ipa)中的资源

    移动互联网中 xff0c 主要的两个平台是android和ios xff0c android上文件的安装包是后缀名为apk的文件 xff0c ios上文件的安装包是后缀名为ipa的文件 xff0c 在本文分析一下这两种文件的特点 xff0c
  • 35.app后端搜索入门

    现在人们的网络生活已经离不开搜索了 xff0c 遇到不懂的问题 xff0c 想知道的事情 xff0c 搜索一下 xff0c 就知道答案 在app中 xff0c 最常见的搜索情景就是搜索用户 只有几百 xff0c 几千的用户量时 xff0c
  • 36.如何使用定时任务

    lt span style 61 34 font family Arial Helvetica sans serif background color rgb 255 255 255 34 gt 在app后台开发中 xff0c 经常需要执行
  • goroutine背后的系统知识

    http www sizeofvoid net goroutine under the hood o语言从诞生到普及已经三年了 xff0c 先行者大都是Web开发的背景 xff0c 也有了一些普及型的书籍 xff0c 可系统开发背景的人在学
  • 37.创业团队不是天堂

    在媒体的报导中 xff0c 创业公司一直都是充满情怀的 xff1a 宽松的工作环境 xff0c 不差的薪水 xff0c 不断高涨的融资额 xff0c 吃不完的零食和喝不完的饮料 xff0c 一群年轻人为了实现自己的梦想而一起奋斗 种种诱人的
  • java小程序(1)

    文章标题 java 小程序 xff08 1 xff09 文章作者 曾健生 作者邮箱 zengjiansheng1 64 126 com 作者 QQ 190678908 作者声明 本人水平有限 xff0c 失误之处 xff0c 敬请各位指出
  • java小程序(2)

    文章标题 java 小程序 xff08 2 xff09 文章作者 曾健生 作者邮箱 zengjiansheng1 64 126 com 作者 QQ 190678908 作者声明 本人水平有限 xff0c 失误之处 xff0c 敬请各位指出