java在控制台打印出数组中相同的数字的java中两个数组输出相同与不同 并排序 大神们帮帮忙

  数组的定义:
     int[] arr = new int[5];
int[] arr1 = {1,2,3,4,5};
long[] arr2 = new long[6];
String[] strs = new String[5];
Person[] ps = new Person[5];
  数组的操作:
     int[] arr = {45, 34, 53, 43};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
// 二分搜索法(使用之前需要先排序)
int i = Arrays.binarySearch(arr, 34);
System.out.println(i);
int[] newArr = Arrays.copyOf(arr, 7);
int[] newArr1 = Arrays.copyOfRange(arr, 1, 3);
System.out.println(Arrays.toString(newArr));
System.out.println(Arrays.toString(newArr1));
int j = Arrays.binarySearch(arr, 1, 3, 34);
System.out.println(j);
  冒泡排序:
     int[] arr = {23,12,48,56,45};    
int temp = -1;
for(int i=0;i&arr.i++) {
for(int j=i+1;j&arr.j++) {
if(arr[i]&arr[j]) {
temp = arr[i];
arr[i] = arr[j];
System.out.println(Arrays.toString(arr));
  直接选择排序:
    int[] arr = {23,12,48,56,45};
    for(int i=0;i&arr.i++) {
for(int j=i;j&arr.j++) {
if(arr[j] & arr[tem]) {
int temp1 = arr[i];
arr[i] = arr[tem];
arr[tem] = temp1;
System.out.println(Arrays.toString(arr));
  反转排序:  
    int[] arr = {23,12,48,56,45};
    for(int i=0;i&arr.length / 2;i++) {
int temp = arr[i];
arr[i] = arr[arr.length-i-1];
arr[arr.length-i-1] =
System.out.println(Arrays.toString(arr))
阅读(...) 评论()java 从控制台接收若干个整数,排序并输出.如何做?_百度知道
java 从控制台接收若干个整数,排序并输出.如何做?
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
郭伟guowei郭伟
郭伟guowei郭伟
采纳数:23
获赞数:29
由于不知道具体有几个整数,总体来说有两种方法,第一种是读取一行,然后把这一行输入转成数组。第二种方法是读到某个标志位(比如-1)结束。代码如下:import&java.io.BufferedRimport&java.io.InputStreamRimport&java.util.ArrayLimport&java.util.Aimport&java.util.Limport&java.util.Simport&java.io.IOEpublic&class&BasicInput&{ public&static&void&main(String[]&args)&{
int[]&arr&=&readLine();&//方法一
int[]&arr&=&readToFlag();//方法二
Arrays.sort(arr);
for(int&i=0;i&arr.i++){
System.out.print(arr[i]+&&&);
System.out.println(); }
public&static&int[]&readLine(){
String&str&=&&&;
System.out.println(&属于一行整数,中间用空格隔开。&);
//&在Java当中,用户输入要通过InputStream(输入流)来获取。
//&System.in就是系统的输入流。缺省情况下这个输入流连接到控制台(命令行)。
//&InputStreamReader就是用来读取InputStream的类。
InputStreamReader&is_reader&=&new&InputStreamReader(System.in);
//&通常使用BufferedReader来读取InputStream中的字符串内容。
//&BufferedReader可以一次读取一行。
str&=&new&BufferedReader(is_reader).readLine();
is_reader.close();
}&catch&(IOException&e)&{
e.printStackTrace();
String&[]&strArr&=&str.split(&&&);
int&[]&arr&=&new&int&[strArr.length];
for(int&i=0;i&strArr.i++){
arr[i]&=&Integer.parseInt(strArr[i]);
public&static&int[]&readToFlag(){
List&Integer&&list&=&new&ArrayList&Integer&();
Scanner&input=new&Scanner(System.in);
System.out.println(&请输入多个数值,输入-1表示输入结束&);
int&tmp=input.nextInt();//输入一个正整数
while(tmp!=-1){
list.add(tmp);
tmp=input.nextInt();
input.close();
int&[]&arr&=&new&int&[list.size()];
for(int&i=0;i&list.size();i++){
arr[i]&=&list.get(i);
return& }}
happyhuangjinj
来自电脑网络类芝麻团
happyhuangjinj
采纳数:76
获赞数:169
参与团队:
import java.lang.*;import java.util.Apublic class TestExercise {// 此方法实现从控制台读入若干数据,存入数组public void input(int[] arr) {System.out.println(&请输入5个整数,每输入一个请按回车键:&);try {byte[] buf = new byte[20];for (int i = 0; i & arr. i++) {System.in.read(buf);String str = new String(buf);arr[i] = Integer.parseInt(str.trim());}} catch (Exception e) {System.out.println(&程序遇到异常,即将终止&);System.exit(0);}}//将数组元素逆序输出public void converseOutput(int[] arr){System.out.println(&逆序输出数组元素:&);for(int i=arr.length-1;i&=0;i--)System.out.print(arr[i]+& &);System.out.println();}//将数组元素降序排列public void descentSort(int[] arr){Arrays.sort(arr);int[] array=new int[5];for(int i=0;i&arr.i++)array[i]=arr[arr.length-1-i];for(int i=0;i&arr.i++)arr[i]=array[i];}// 此方法实现在控制台显示数组的各元素public void echo(int[] arr) {System.out.println(&数组各元素如下:&);for (int i = 0; i & arr. i++) {System.out.print(arr[i] + & &);}System.out.println();}public static void main(String[] args){TestExercise t=new TestExercise();int[] arr=new int[5];t.input(arr);t.converseOutput(arr);t.descentSort(arr);t.echo(arr);}}
本回答被提问者采纳
为你推荐:
其他类似问题
您可能关注的内容
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。怎么在java控制台中打印出byte数组的数据及中文怎么处理 ?
[问题点数:30分]
本版专家分:0
结帖率 42.86%
CSDN今日推荐
本版专家分:114301
2011年3月 Java大版内专家分月排行榜第一2010年4月 Java大版内专家分月排行榜第一2010年3月 Java大版内专家分月排行榜第一2007年8月 Java大版内专家分月排行榜第一
2011年4月 Java大版内专家分月排行榜第二2010年8月 Java大版内专家分月排行榜第二2010年5月 Java大版内专家分月排行榜第二2008年2月 Java大版内专家分月排行榜第二2007年7月 Java大版内专家分月排行榜第二
2011年2月 Java大版内专家分月排行榜第三2010年9月 Java大版内专家分月排行榜第三2008年9月 Java大版内专家分月排行榜第三2008年1月 Java大版内专家分月排行榜第三2007年11月 Java大版内专家分月排行榜第三2007年9月 Java大版内专家分月排行榜第三
本版专家分:36152
2010年10月 Java大版内专家分月排行榜第一2010年9月 Java大版内专家分月排行榜第一2010年8月 Java大版内专家分月排行榜第一2010年7月 Java大版内专家分月排行榜第一
本版专家分:114301
2011年3月 Java大版内专家分月排行榜第一2010年4月 Java大版内专家分月排行榜第一2010年3月 Java大版内专家分月排行榜第一2007年8月 Java大版内专家分月排行榜第一
2011年4月 Java大版内专家分月排行榜第二2010年8月 Java大版内专家分月排行榜第二2010年5月 Java大版内专家分月排行榜第二2008年2月 Java大版内专家分月排行榜第二2007年7月 Java大版内专家分月排行榜第二
2011年2月 Java大版内专家分月排行榜第三2010年9月 Java大版内专家分月排行榜第三2008年9月 Java大版内专家分月排行榜第三2008年1月 Java大版内专家分月排行榜第三2007年11月 Java大版内专家分月排行榜第三2007年9月 Java大版内专家分月排行榜第三
本版专家分:706
本版专家分:0
本版专家分:22671
2010年7月 Java大版内专家分月排行榜第二2010年6月 Java大版内专家分月排行榜第二
2010年8月 Java大版内专家分月排行榜第三
本版专家分:4
本版专家分:707
匿名用户不能发表回复!
其他相关推荐一个数组中有n个字母,想输出这n个字母的全排列 - ITeye问答
已知一个数组中有n个字母,想输出这n个字母的全排列(且要求每输出一种排列就换行),例如:当数组中字母为ABC时,可输出ABC、ACB、BAC、BCA、CAB、CBA六种不同的排列。
算法的大概思想是采用递归的方法实现:定义一个函数,有两个参数,参数1为待处理的字母的数组,参数2为已确定的部分排列;函数功能是依次从参数1中取一个字母加入到参数2后面,并递归调用,若参数1数组为空,则输出参数2。
例如:要求ABC的全排列,则以参数1=数组ABC,参数2=空串来调用该函数;函数执行时,先取出A,以参数1=数组BC,参数2="A"来递归调用,然后取出B,以参数1=数组AC,参数2="B"来递归调用,最后以参数1=数组AB,参数2="C"来递归调用。若参数1=数组BC,参数2="A",则函数执行时,先以参数1=数组C,参数2="AB"来递归调用,再以参数1=数组B,参数2="AC"来递归调用。
请根据上述算法思想,写出函数的详细的伪代码(或完整的程序代码),要求输出ABCDEFG的全排列。
这个具体应该怎么实现啊?问题补充:先谢谢preferme的解答
那能不能说说伪代码怎么写啊问题补充:preferme的解答 定义的函数是三个参数的& 但是我要用两个参数来实现,应该怎么写啊问题补充:lovewhzlq
应该怎么样来验证这个算法或程序是符合要求的啊?问题补充:
不好意思,能不能写下伪代码啊?不知道怎么下手下,谢谢了
采纳的答案
这样就行了
import java.util.ArrayL
import java.util.L
public class NumTest {
public static void main(String[] args) {
String s="ABCD";//原字符串
List&String& result = list(s, "");//列出字符的组合,放入result
System.out.println(result.size());;
System.out.println(result);
* 列出基础字符串(base)的所有组合
* @param base 以该字符串作为基础字符串,进行选择性组合。
* @param buff 所求字符串的临时结果
* @param result 存放所求结果
public static List&String& list(String base,String buff){
List&String& result = new ArrayList&String&();//存放结果信息。
if(base.length()&=0){
result.add(buff);
for(int i=0;i&base.length();i++){
List&String& temp = list(new StringBuilder(base).deleteCharAt(i).toString(),buff+base.charAt(i));
result.addAll(temp);
像算法这种东西,说去验证它也不是说很具体的一件事,
写个单元测试,去一些数据进行测试,看看是否正确,
朋友,算法你都想好了,实现应该就是最简单的事了
public static void main(String[] args) {
String s="ABCD";//原字符串
List&String& result = new ArrayList&String&();//存放结果信息。
list(s, "", result);//列出字符的组合,放入result
System.out.println(result.size());;
System.out.println(result);
* 列出基础字符串(base)的所有组合
* @param base 以该字符串作为基础字符串,进行选择性组合。
* @param buff 所求字符串的临时结果
* @param result 存放所求结果
public static void list(String base,String buff,List&String& result){
if(base.length()&=0){
result.add(buff);
for(int i=0;i&base.length();i++){
list(new StringBuilder(base).deleteCharAt(i).toString(),buff+base.charAt(i),result);
已解决问题
未解决问题

我要回帖

更多关于 java控制台输入数组 的文章

 

随机推荐