Tag: 数组

如何按字母顺序排序String数组(不使用compareTo或Arrays.sort)

我需要按字母顺序组织一个字符串数组。 从理论上讲,每个单词的第一个字母都是大写的(尽管不一定,因为人们不能总是信任用户)。 我试过Arrays.sort() ,它不会运行程序。 我尝试过使用compareTo() ,当它运行程序时,当它到达那段代码时,我收到此错误: Exception in thread “main” java.lang.NullPointerException at java.lang.String.compareTo(Unknown Source) at NameandAge.printNameOrder(NameandAge.java:431) at NameandAge.print(NameandAge.java:350) at NameandAge.main(NameandAge.java:116) 从字面上看,我在这个问题上找到的一切都给了我这两个解决方案中的一个。 还有其他建议吗? (对于记录,代码当前读取:) while(!done) { done=true; for(int i=0;i0) { temp=organizedNames[i]; //temp is a String that was declared earlier organizedNames[i]=organizedNames[i+1]; organizedNames[i+1]=temp; done=false } } } } } 编辑:尝试检查以确保name1和name2不为null 。 它现在有效,但这是输出:乔 法案 短发 工匠 罗德尼 詹姆士 菲利普 […]

Java中的2D数组,由字符索引

除非我弄错了,否则在Java中使用字符值索引数组是合法的,因为这些数组相当于8位数。 但是,以下代码为我生成错误消息: int[][] myArray = new int[256][256]; myArray[‘%’][‘^’] = 25; 有没有办法让这项工作? 编辑 :哇,我真的没有做好复制代码的工作。

如何筛选照片列表 – android?

我正在尝试这样做:按今天日期,本周,本月和今年对对象数组(日期类型)进行排序,我知道如何使用Comparator类按降序或升序排序日期数组,但我不知道如何我知道如何按今天的日期,本周,本月或今年排序数组。 private void sortTopicsByDate() { Collections.sort(topics, new Comparator() { @Override public int compare(Topic o1, Topic o2) { return o1.getCreatedTime().compareTo(o2.getCreatedTime()); } }); } 更新(过滤列表,其中包含今天创建的照片) private List getFilteredTopics() { List filteredList = new ArrayList(); Date now = new Date(); // today date Calendar cal = Calendar.getInstance(); Calendar getCal = Calendar.getInstance(); cal.setTime(now); int nYear = cal.get(Calendar.YEAR); int nMonth […]

处理2d数组或文件中的行范围

我对编程很新。 我正在自学,我正在使用的书中的例子太容易了,所以我想努力做点什么。 彩票是我的爱好之一,我认为我选择的问题会让我更容易学习Java。 这个程序计算基诺中的频率(每个数字从1 t0 70出现在我的txt文件中的次数),这是一种彩票(在基诺,抽奖由70个中的20个数字组成,而不是49个中的广泛中的6个) 。 我想计算不是整个txt文件的频率,而只是为了它的一部分,例如,如果文件有x行,我只想要x-5和x-10之间的线,就像这样。我不要不知道我文件中的行数,也许是数千行,但它总是有20列。 该程序适用于整个文件,但是当我尝试在其中的一部分上工作时遇到了麻烦。 我认为我应该将文件读入2d数组然后我可以处理我想要的行。 我很难将每一行转换成矩阵。 我已经阅读了有关将文件读入2d数组的所有post,但无法使其正常工作。 以下是我超过一周的许多尝试之一 public static void main(String args[]) { int[][] matricea = new int [30][40]; int x=0, y=0; try { BufferedReader reader = new BufferedReader( new FileReader(“C:\\keno.txt”) ); int[] numbers = new int[72]; //each keno draw has 70 numbers for (int i = 0; i […]

将JButton的多个实例添加到网格中的JFrame

下面的代码应该为我想要在网格中表示的特定类型(比如颜色)JButton创建和对象实例。 当我遍历for循环以将按钮添加到jframe时,它什么都没有添加。 但是,如果我添加一个实例变量,它将添加它。 有人有想法吗? public class Grid { protected JButton [][] board; private JButton player; private JButton openCell; private JButton wall; private JButton closedCell; public Grid(String [] args) { // args unused // Instantiation board = new JButton [6][6]; layout = new String [6][6]; blueCell = new JButton(“BLUE CELL”); redCell = new JButton(“RED CELL”); greenCell […]

在我的案例中使用Set删除数组中的重复元素

我有一个对象Array ,因为我使用的是第三方库,通过从库中调用一个方法来获取数组, 我无法访问 MyObject 类 。 //I have no access to MyObject class, I am sure the objects contain duplicated elements. MyObject[] objects = SOME_LIB_CLASS.getObjects(); System.out.println(“length is “+ objects.length); //length is 6 我尝试删除对象中的重复元素,我使用Set : Set objectSet = new HashSet(Arrays.asList(objects)); System.out.println(“length is “+ objectSet.size()); //length is 6 still 但是objectSet仍然包含重复的元素,为什么以及如何在不迭代数组的情况下解决我的问题?

自动向数组添加元素

嗨,我不擅长Java,所以请耐心等待。 我正在尝试编写一个非常简单的Android应用程序,我需要一些编码方面的帮助。 事实是,我有一个服务器,它自动生成.png文件,并按数字顺序将它们保存到公共目录。 更新每天进行,并非详尽无遗。 无论如何,我可以将动态值分配给我的应用程序中的数组吗? private String[] myRemoteImages = { “http://sofzh.miximages.com/java/hypotheticalurl1.png”, “http://sofzh.miximages.com/java/hypotheticalurl2.png”, “http://sofzh.miximages.com/java/hypotheticalurl3.png”, “http://sofzh.miximages.com/java/hypotheticalurl4.png”, “http://sofzh.miximages.com/java/hypotheticalurl5.png”, “http://sofzh.miximages.com/java/hypotheticalurl6.png”, “http://sofzh.miximages.com/java/hypotheticalurl7.png”, “http://sofzh.miximages.com/java/hypotheticalurl8.png”, “http://sofzh.miximages.com/java/hypotheticalurl9.png”, “http://sofzh.miximages.com/java/hypotheticalurl10.png”, “http://sofzh.miximages.com/java/hypotheticalurl11.png”, “http://sofzh.miximages.com/java/hypotheticalurl12.png”, //…blah blah blah // these are all dynamically created so I won’t know what is the last number on the list }; 此数组最终将用于使用应用程序从我的服务器获取图像。 它工作到目前为止,但只有硬编码的URL。 我希望这些url是动态的,因为图片的数量会每天都在变化。 我怀疑正则表达式在Java中运行良好但是我再也不是专家了。 想到也许在服务器端编写一个脚本,生成一个现有值列表,并以某种方式解析它与Android应用程序。 谁能指出我正确的方向? 提前致谢。 澄清: 应用程序运行时,arrays不必动态resize。 我需要一种方法来读取远程目录中的现有图像列表,并传递该信息以在运行时自动填充数组。 解决 […]

检查数组是否已排序

我正在尝试构建一个程序,它接受一个整数数组作为参数并返回一个String。 如果数组从最小到最大排序,字符串将是“升序”,如果数组从最大到最小排序,则“降序”,“未排序”是数组根本没有排序,“所有相同的“如果数组的所有元素都相等。 到目前为止,我有以下代码。 我是在正确的轨道上吗? 我一直在下面指出的行上出现错误,说“参数类型的运算符>未定义”。 知道是什么原因引起的吗? import java.util.*; import java.io.*; import java.util.Scanner; public class arrayCheck { public static void main(String[] args) throws IOException { arrayInput(); isSorted(null); } public static String arrayInput() { int size = 0; Scanner in = new Scanner(System.in); System.out.println(“Enter the size of the array: “); size = in.nextInt(); System.out.println(“The size you enetered […]

逐行解析文本文件,跳过某些行

我有一个看起来像这样的文件(但更大): >some text ABC DEF GHI >some more text JKL MNO PQR 我已经在Java中玩了一段时间并且已经能够用线条等构建数组。带有“>”的行通常是一行但有时可能是2,3行或更多行。 不以’>’开头的行的字符长度相同,但这些行可能有10,20或30或更多。 我现在想要创建一个字符串数组,其中数组中的每个字符串都包含一行不以’>’开头的行,如下所示: array element 1 = ABCDEFGHI array element 2 = JKLMONPQR 我觉得我很接近,但需要一点点屁股让我走。 我确信这对于专业人士来说很容易,但我还是Java新手。 具体问题与我在这个板上做的其他post有关。 这是一个FASTA文件: >3BHS_BOVIN (P14893) 3 beta-hydroxysteroid AGWSCLVTGGGGFLGQRIICLLVEEKDLQEIRVLDKVFRPEVREEFSKLQSKIKLTLLEG DILDEQCLKGACQGTSVVIHTASVIDVRNAVPRETIMNVNVKGTQLLLEACVQASVPVFI >41_BOVIN (Q9N179) Protein 4.1 MHCKVSLLDDTVYECVVEKHAKGQDLLKRVCEHLNLLEEDYFGLAIWDNATSKTWLDSAK EIKKQVRGVPWNFTFNVKFYPPDPAQLTEDITRYYLCLQLRQDIVSGRLPCSFATLALLG SYTIQSELGDYDPELHGADYVSDFKLAPNQTKELEEKVMELHKSYRSMTPAQADLEFLEN >5NTD_BOVIN (Q05927) 5′-nucleotidase MNPGAARTPALRILPLGALLWPAARPWELTILHTNDVHSRLEQTSEDSSKCVNASRCVGG VARLATKVHQIRRAEPHVLLLDAGDQYQGTIWFTVYKGTEVAHFMNALGYESMALGNHEF DNGVEGLIDPLLKEVNFPILSANIKAKGPLASKISGLYSPYKILTVGDEVVGIVGYTSKE TPFLSNPGTNLVFEDEITALQPEVDKLKTLNVNKIIALGHSGFEVDKLIAQKVKGVDVVV 我最终需要在他们自己的数组元素中的序列,以便我以后可以操作它们。

生成具有非均匀分布的随机整数数组

我想编写Java代码来生成范围[1,4]中的随机整数数组。 数组的长度为N,在运行时提供。 问题是范围[1,4]不是均匀分布的: 这意味着如果我创建N = 100的数组,数字’1’将在数组中平均出现40次,数字’2’出现10次,依此类推。 现在我使用此代码生成范围[1,4]中的均匀分布的随机数: public static void main(String[] args) { int N; System.out.println(); System.out.print(“Enter an integer number: “); N = input.nextInt(); int[] a = new int[N]; Random generator = new Random(); for(int i = 0; i < a.length; i++) { a[i] = generator.nextInt(4)+1; } } 如何使用非均匀分布实现它,如上图所示?