- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
下面的代码是具有 main 方法的 Hello 类
import javax.swing.*;
public class Hello
{
public static void main(String[] args)
{
int size, command;
char inputChar;
String inputString;
//ask a user for an array size
size = Integer.parseInt(JOptionPane.showInputDialog("Please enter a size for the array"));
//instantiate a CharacterList Object
CharacterList list1 = new CharacterList(size);
//print the menu
printMenu();
do
{
//ask a user to choose a command
command = Integer.parseInt(JOptionPane.showInputDialog("Please enter a command number, 1, 2, 3, 4, 5, 6, 7, or 8 (to quit)"));
System.out.println("Entered command: " + command);
switch(command)
{
case 1: //add a character
inputString = JOptionPane.showInputDialog("Please enter a character to add");
inputChar = inputString.charAt(0);
boolean added;
added = list1.addCharacter(inputChar);
if(added == true)
{
System.out.println(inputChar + " was added");
}
else
{
System.out.println(inputChar + " was not added");
}
break;
case 2: //remove a character
inputString = JOptionPane.showInputDialog("Please enter a character to remove");
inputChar = inputString.charAt(0);
boolean removed;
removed = list1.removeCharacter(inputChar);
if(removed == true)
{
System.out.println(inputChar + " was removed");
}
else
{
System.out.println(inputChar + " was not removed");
}
break;
case 3: //display the array
System.out.println(list1);
break;
case 4: //compute and display the largest
inputChar = list1.findLargest();
if(inputChar == ' ')
{
System.out.println("\nThe list is empty");
}
else
{
System.out.println("\nThe largest character is: " + inputChar);
}
break;
case 5: //compute and display the smallest
inputChar = list1.findSmallest();
if(inputChar == ' ')
{
System.out.println("\nThe list is empty");
}
else
{
System.out.println("\nThe smallest character is: " + inputChar);
}
break;
case 6: //compute and display the sum of the unicode
System.out.println("\nThe sum of the unicode is: " + list1.computeSumOfUnicode());
break;
case 7:
printMenu();
break;
case 8:
break;
}
} while(command != 8);
}
public static void printMenu()
{
System.out.print("\nCommand Options\n" +
"-----------------------------------\n" +
"1: add a character in the array\n" +
"2: remove a character from the array\n" +
"3: display the array\n" +
"4: compute and display the largest character\n" +
"5: compute and display the smallest character\n" +
"6: compute and display the sum of the unicode\n" +
"7: display the menu again\n" +
"8: quit this program\n\n");
}
}
第二类CharacterList
import java.util.Arrays;
public class CharacterList {
private char[] charArray;
private int count;
public CharacterList(int arraySize) {
charArray = new char[arraySize];
for (int i = 0; i < charArray.length; i++) {
charArray[i] = ' ';
}
count = 0;
}
private void doubleArrayCapacity() {
//create new array of char, which is double length
char[] newCharArray = new char[this.charArray.length * 2];
//prescribe values from old array to new one
for (int i = 0; i < this.charArray.length; i++) {
newCharArray[i] = this.charArray[i];
}
for (int i = this.charArray.length; i < newCharArray.length; i++) {
newCharArray[i] = ' ';
}
//set newCharArray set new value of your field charArray
this.charArray = newCharArray;
}
public int indexOf(char searchingChar) {
for (int i = 0; i < charArray.length; i++) {
if (charArray[i] == searchingChar) {
return i;
}
}
return -1;
}
public boolean addCharacter(char characterToAdd) {
if (indexOf(characterToAdd) == -1) {
if (count == charArray.length - 1) {
doubleArrayCapacity();
}
for (int i = 0; i < this.charArray.length; i++) {
if (this.charArray[i] == ' ') {
this.charArray[i] = characterToAdd;
break;
}
}
count++;
return true;
} else
return false;
}
public boolean removeCharacter(char characterToRemove) {
if (indexOf(characterToRemove) != -1) {
for (int i = 0; i < charArray.length; i++) {
if (charArray[i] == characterToRemove) {
charArray[i] = charArray[charArray.length - 1];
charArray[charArray.length - 1] = ' ';
}
}
count--;
return true;
} else
return false;
}
public char findLargest() {
char largest = charArray[0];
for (int i = 0; i < charArray.length; i++) {
if (charArray[i] > largest) {
largest = charArray[i];
}
}
return largest;
}
public char findSmallest() {
char smallest = charArray[charArray.length - 1];
for (int i = 0; i < charArray.length; i++) {
if (charArray[i] < smallest) {
smallest = charArray[i];
}
}
return smallest;
}
public int computeSumOfUnicode() {
int sum = 0;
for (int i = 0; i < charArray.length; i++) {
sum = sum + charArray[i];
}
return sum;
}
public String toString() {
return Arrays.toString(charArray);
}
}
我想添加用户在数组中键入的字符(用户给定的大小)。而且,如果大小不够,我想将大小加倍并在新数组中添加复制所有以前的数组元素并将旧数组分配给新数组(引用)。
Output:
Command Options
-----------------------------------
1: add a character in the array
2: remove a character from the array
3: display the array
4: compute and display the largest character
5: compute and display the smallest character
6: compute and display the sum of the unicode
7: display the menu again
8: quit this program
Entered command: 1
a was added
Entered command: 1
y was added
Entered command: 1
L was added
Entered command: 1
p was added
Entered command: 1
a was not added
Entered command: 1
K was added
Entered command: 1
Y was added
Entered command: 1
S was added
Entered command: 3
[a, y, L, p, K, Y, S, , , , , ]
Entered command: 4
The largest character is: y
Entered command: 5
The list is empty
Entered command: 6
The sum of the unicode is: 813
Entered command: 8
空格干扰了 Unicode、最大和最小方法。有人可以帮我解决这个问题吗
最佳答案
空格字符 ' '
有一个唯一的 unicode 值,这会干扰对其进行的操作。为了解决这个问题,我建议您使用 unicode 值为 0 的填充字符。例如,当您填充 charArray
时。 , 可以用空字符填充:
charArray[i] = '\u0000'; // Note that \u0000 can be replaced by the integer literal 0
然而,这会干扰最小字符的计算,因为这个填充字符具有最低的 unicode 值。要解决这个问题,请确保最小字符的 unicode 值不为 0:
public char findSmallest() {
char smallest = charArray[charArray.length - 1];
for (int i = 0; i < charArray.length; i++) {
if (charArray[i] < smallest && charArray[i] != 0) {
smallest = charArray[i];
}
}
return smallest;
}
关于java - 如何摆脱数组列表中的空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62805607/
我有这个代码来查找这个模式:201409250200131738007947036000 - 1,在文本内 final String patternStr = "(\\d{
我正在尝试使用正则表达式清除一些用户输入,以删除 [ 和 ] 并删除任何大于 1 个空格的空格。但我似乎无法实现我想要的效果。这是我第一次使用正则表达式,所以我对如何写出来有点困惑。 (preg_re
我正在尝试构建这个简单的正则表达式来匹配 Java 中的单词+空格,但我在尝试解决它时感到困惑。该网站上有很多类似的示例,但答案大多给出了正则表达式本身,而没有解释它是如何构造的。 我正在寻找的是形成
好吧,我已经阅读了很多建议如何消除多余空间的帖子,但无论出于何种原因,我似乎无法将这些建议应用到我的系统中,所以我在这里寻求您的帮助。 这些是我代码的最后几行: for line in rli
所以我正在我的测试存储上学习网页抓取,但我不确定如何正确地从“sizes”数组中删除空的新行。 const $ = cheerio.load(body) $('div.lis
这个问题已经有答案了: How to prevent invalid characters from being typed into input fields (8 个回答) 已关闭 9 年前。 是
有人知道如何让扫描仪忽略空间吗?我想输入名字和第二个名字,但扫描仪不让我输入,我想保存全名 String name; System.out.print("Enter name: "); name =
这个问题在这里已经有了答案: Make Vim show ALL white spaces as a character (23 个回答) 关闭 8 年前。 VIM(使用 Solarized Dar
我想使用 StreamTokenizer 从 java 文件中提取名称。我已将空格设置为逗号 inputTokenizer.whitespaceChars(',', ','); 但是,
我正在使用此代码逐行读取 txt 文件。 // Open the file that is the first command line parameter FileInputStream fstre
我似乎无法弄清楚我需要的正则表达式。这就是我想要实现的目标: {ANY CHAR} + @javax.persistence.Column(name = "{ANY 30 CHARS}") + {AN
我正在运行 StyleCop(顺便说一句,如果你想提供高质量的代码,我完全推荐它)... 我有这条线 [System.Xml.Serialization.XmlRootAttribute(Namesp
我刚刚更新到 PhpStorm 2016,我突然注意到,每次我按 Ctrl + S 保存文件时,它都会删除我在测试这段代码后按下以继续编写的空格/制表符。 请帮忙,这对我来说很烦人,因为我在每一行代码
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 7 年前。 Improve th
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 要求提供代码的问题必须表现出对所解决问题的最低限度的了解。包括尝试的解决方案、为什么它们不起作用以及预期结果
我已经看过几十个关于这个主题的问题和答案,但我仍然无法解决我的问题。 我在我的代码中使用了一个外部 ffmpeg 转换器,我将文件路径作为参数传递,如下所示: OutputPackage oo = c
谁能详细解释一下它们是什么以及它们之间的区别。提前致谢。 最佳答案 转义序列是代表其他内容的字符序列。例如(“\n” = 新行,“\?” = 问号等)。有关更详细的列表,请检查:https://en.
我无法从我的 javascript 文本中删除换行符。这是我正在处理的数据示例: 0: "Christian Pulisic" 1: "↵" 2: "From Wikipedia, the free
我有一个问题 - 我似乎无法从字符串的开头/结尾删除新行/空格。我在正则表达式的开头和结尾使用 \s ,甚至在获取字符串后使用 .trim() ,但无济于事。 public void extractI
我是 php 的新手,我正在尝试将一系列变量添加到 html 超链接中。但是,任何返回空格的变量都会弄乱超链接。 Grants Test
我是一名优秀的程序员,十分优秀!