java 接收一个int类型的参数 返回两个String类型的字符串​

作者&投稿:伯秒 (若有异议请与网页底部的电邮联系)
JAVA中一个方法能同时返回2个值么~

java中return语句不能同时返回两个值。
java中return作为程序结束语句,return后直接会结束函数,同时返回一个返回值,这个返回值的类型是在函数方法上声明好了的,例如public int add(int a,int b){。。。;
return a+b;},所以return有且仅有一个返回值。
但如果想要返回两个以上的值:可以使用string类型进行拼接,取到这个拼接的字符串之后,进行拆分就可以了。

  JAVA 中int类型转String类型的通常方法,有三种:


  1、String.valueOf(int i)

  2、Integer.toString(int i)

  3、i+""; //i 为 int类型

  三种方法效率排序为:

  
  Integer.toString(int i) > String.valueOf(int i) > i+"";

  
  代码测试:

  public static void main(String[] args) {
  int[] intArr = new int[1000000];
  String[] strArr1 = new String[1000000];//为了公平分别定义三个数组

  String[] strArr2 = new String[1000000];
  String[] strArr3 = new String[1000000];
  //赋值
  Long t1 = System.currentTimeMillis();
  for(int i=0;i<1000000;i++){
  intArr[i]=i+1;
  }
  Long t2 = System.currentTimeMillis();
  for(int i=0;i<1000000;i++){
  strArr1[i] = String.valueOf(intArr[i]);
  }
  Long t3 = System.currentTimeMillis();
  for(int i=0;i<1000000;i++){
  strArr2[i] = Integer.toString(intArr[i]);
  }
  Long t4 = System.currentTimeMillis();
  for(int i=0;i<1000000;i++){
  strArr3[i] = intArr[i]+"";
  }
  Long t5 = System.currentTimeMillis();
  System.out.println("t1 = "+t1);
  System.out.println("t2 = "+t2);
  System.out.println("t3 = "+t3);
  System.out.println("t4 = "+t4);
  System.out.println("t5 = "+t5);
  System.out.println("赋值:"+(t2-t1));
  System.out.println("String.valueOf(i):"+(t3-t2));
  System.out.println("Integer.toString(i):"+(t4-t3));
  System.out.println("i+\"\":"+(t5-t4));
  }



  我的测试结果为:

  t1 = 1298798872078
  t2 = 1298798872093
  t3 = 1298798872656
  t4 = 1298798873000
  t5 = 1298798873671
  赋值:15
  String.valueOf(i):563
  Integer.toString(i):344
  i+"":671

1、数组是一种方法,String[]于是0下标和1下标分别存储。
2、其它的方法,比如你可以用List或Set,和数组差不多一回事。
3、在一个你可以用自定义对象,比如:
public class TextInfo{
public String text1;
public String text2;
}
public TextInfo functionName(int i){
......
TextInfo ti=new TextInfo();
ti.text1="aaa";
ti.text2="bbb";
return ti;
}
4、再或者,你干脆返回一个字符串,然后这个字符串中承载着两个子字符串,这两个子字符串用你规定的分隔符分开,比如规定用/来间隔。那么返回来后用str.split("/")拆开为String[]再访问0和1下标位取得数据就可以了。

可以自定义一个类型
public class MyClass{
private String str1;
private String str2;
public String getStr1() {
return str1;
}
public void setStr1(String str1) {
this.str1= str1;
}
public String getStr2() {
return str2;
}
public void setStr1(String str2) {
this.str1= str2;
}
}
好了,然后你可以把你要返回两个字符串放到这个类里
MyClass _myclass = new MyClass();
_myclass.setStr1("第一个字符串");
_myclass.setStr2("第二个字符串");
return _myclass ;
这样就可以了,会比返回数组更好一点,可拓展性更好
纯手打望采纳

没有最合理的,方法代码能最方便解决问题的就是最合理的。

可以有很多方式,集合、数组、拼接成一个字符串然后在拆分。。。,根据你的需要最方便就行

返回集合类型,例如 list 尽量别用数组。


嘉荫县13129857355: Java中的一个函数参数 -
市娟依路: "int...x" 不定参数传递.这说明方法foo()可以接受不定个数的参数,当然,参数类型应该为int型的.如果要使方法可以接受不定个数且参数类型也不确定的参数,则可用“foo(Object ...x)”,这在Java2入门经典上有,这本书还不错,推荐看一下

嘉荫县13129857355: Java编程(写出程序代码) -
市娟依路: package ascdemo; public class AscDemo { /** * @param args */ public static int test(int x){ int y; if (x>0){ y = x+3; return y; } else{ if(x == 0){ y = 0; return y; } else{ y = x*x-1; return y; } } } public static void main(String[] args) { // TODO Auto-generated ...

嘉荫县13129857355: java编辑写个类,要求:保存1个int类型的数据 -
市娟依路: class A { int number; //带参数的构造方法,可以指定你保存的值 public A (int number) { this.number = number; } //默认构造方法,直接保存 10 public A () { this.number = 10; } //返回保存的number的值 public int getNumber () { return this.number...

嘉荫县13129857355: java 获取int类型数据长度的方法? -
市娟依路: 可以使用以下三种方法: 一、基于对数的解决方案: valueOf 方法返回的相关Number对象持有传递的参数的值. 该参数可以是基本数据类型,字符串(String),等等. 这个方法是一个静态方法.该方法可以采取两个参数,其中一个是String,...

嘉荫县13129857355: java 接收一个int类型的参数 返回两个String类型的字符串 -
市娟依路: 1、数组是一种方法,String[]于是0下标和1下标分别存储. 2、其它的方法,比如你可以用List或Set,和数组差不多一回事. 3、在一个你可以用自定义对象,比如: public class TextInfo{public String text1;public String text2; } public TextInfo ...

嘉荫县13129857355: java定义一个方法,接受三个int参数,返回最小的一个数. -
市娟依路: public int t(int a,int b,int c){if(a<b){if(a<c){return a;}else{return c;}}else if(b<c){return b;}else {return c;}}

嘉荫县13129857355: java 基本数据类型传参 -
市娟依路: 恩,楼主基础知识有的,而且正确的. java对基本类型的传参是值传递的. 无返回值的方法中,如果你一定要修改基本类型可以包装一层 比如例子中的a, 可以放在一个int数组里面 java代码static int fun(int[] array)//原来接受int现在接受int数组...

嘉荫县13129857355: 编写一个函数donut( )接受一个int类型的参数,然后输出若干个0,没有返回值. -
市娟依路: 这样?donut(int n){ while(n--) printf("0\t"); }

嘉荫县13129857355: java求函数 -
市娟依路: public class Test() { public static int jisuan(int x) { double y; if (xy = x + 3; if (x == 0) y = 0; else y = x * x - 1; return (int) y; } public static void main(String args[]) { Scanner cin = new Scanner(System.in); int x = cin.nextInt(); System.out.println(jisuan(x)); } }

嘉荫县13129857355: java在函数调用时怎么“传int的引用” -
市娟依路: 想要在内部修改,只能传递对象,比如对象A有三个属性int a,int b,int c,你把对象传递过来,通过相应的方法修改它们,就可以了,否则一般都是要有返回值的,像我这个,你可以返回一个int[],来记录变量的变化.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网