我正在尝试使用索引值打印子字符串.我需要在计数时排除空格,但它应该打印输出和空格.我想从主字符串中显示n个字母.空格将保持原样,但从下限到上限索引的字母数量应为n.我的代码是
public class Test {
public static void main(String args[])
{
String Str=new String("Welcome to the class");
System.out.println("\nReturn value is:");
System.out.println(Str.substring(2,9));
}
}
Run Code Online (Sandbox Code Playgroud)
输出: lcome t
在上面提到的代码中,它计算"欢迎"和"到"之间的空格.我不需要计算它们之间的空间.我的预期产量是收益
所以这更像是一个"试图理解"的问题,而不是"我需要一个解决方案"的问题.对于作业,我们要求创建一个产品列表,其中包含a itemNumber和a price,但每个产品只有一个,因此没有相同的项目itemNumber.我想我可以创建一个集合,这将摆脱重复问题.但如果我添加producta1,4.99和productb1,2.99,则会添加两个产品.
这是否意味着,该集合确定这些产品是不同的b/c它们具有不同的价格,因此可以添加到集合中?
为什么会这样,文档备份在哪里呢?
我的老师坚持认为"z =(y ++)"应首先执行y ++,然后将结果归因于z.
像这样:
int z, y = 10;
z = (y++);
printf("%d", z); //z = 10 or 11? and why?
Run Code Online (Sandbox Code Playgroud)
谢谢.
众所周知,float和int都需要4个字节来存储Java中的原始数组.因此,浮点值可以映射到具有相同内部32位表示的int值.
如何在float和int之间建立一个计算成本低廉的一对一映射?例如,映射可以将3.2345f映射到-67567575并将-67567575映射回接近3.2345f的值,并且可以覆盖大多数浮点值(可以忽略NaN或无穷大).映射的顺序或含义无关紧要.
(我需要这个的原因是为了解决我正在实现的jcuda内核函数的问题;使用其他方法对我的问题更麻烦.需要直接回答这个问题,而不是推荐其他方法等等.)
我有一个字符串"1234567(Asics(アシックスワーキング))".它有unicode字符,有些是ASCII的一部分,有些则不是.java的作用是ASCII字符需要一个字节,其他unicode字符需要两个字节.
我的程序的某些部分无法以此格式处理字符串.所以我想将值编码为转义序列.
所以字符串
"1234567(Asics(アシックスワーキング))"
会映射到
"\ u0031\u0032\u0033\u0034\u0035\u0036\u0037\u0028\u0041\u0073\u0069\u0063\u0073\u0020\u0028\u30a2\u30b7\u30c3\u30af\u30b9\u30ef\u30fc\u30ad\u30f3\u30b0\u0029\u0020\u0029"
.
我写了这个函数来做到这一点: -
public static String convertToEscaped(String utf8) throws java.lang.Exception
{
char[] str = utf8.toCharArray();
StringBuilder unicodeStringBuilder = new StringBuilder();
for(int i = 0; i < str.length; i++){
char charValue = str[i];
int intValue = (int) charValue;
String hexValue = Integer.toHexString(intValue);
unicodeStringBuilder.append("\\u");
for (int length = hexValue.length(); length < 4; length++) {
unicodeStringBuilder.append("0");
}
unicodeStringBuilder.append(hexValue);
}
return unicodeStringBuilder.toString();
}
Run Code Online (Sandbox Code Playgroud)
这在我的程序之外工作正常但在我的程序中引起了问题.这发生在线路上char[] str = utf8.toCharArray();
某种程度上我失去了我的日本unicode字符,这发生了,因为t将这些字符分成char数组中的2.
所以我决定byte []改用它.
public static String convertToEscaped(String …Run Code Online (Sandbox Code Playgroud) 我是新来学习javax.swing并且有疑问.
我有一个JFrame,其defaultCloseOperation设置为EXIT_ON_CLOSE.我有另一种成分-一JOptionPane- 过了JFrame.我想要发生的是,即使焦点在JOptionPane消息对话框上,我也希望程序在单击窗口x上的按钮时终止JFrame.
所以,确切地说,我希望JFrame在不关闭JOptionPane消息对话框的情况下引起焦点,以便我可以关闭JFrame窗口,从而使程序终止.
这是我的代码:
import javax.swing.*;
public class JJSS {
public JFrame jf;
public JJSS(){
jf = new JFrame();
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setSize(400, 400);
jf.setVisible(true);
}
public void runMethod(){
String str = JOptionPane.showInputDialog(jf, "Enter something...");
str = String.valueOf(new StringBuffer(str).reverse());
JOptionPane.showMessageDialog(jf, "Reversed: "+str, "Output", JOptionPane.PLAIN_MESSAGE);
}
public static void main(String[] args){
new JJSS().runMethod();
System.exit(0);
}
}
Run Code Online (Sandbox Code Playgroud)
使用当前代码,当我单击窗口的关闭按钮( …
我们得到了一个赋值,我们必须使用公式计算pi的值pi/4=1-1/3+1/5-1/7+1/9-1/11...(使用100术语),但由于某种原因它似乎没有运行while循环.我们是没有编写代码经验的学生,而且刚刚开始.
double pi = 1;
int count = 0;
int n = 3;
while (count < 100) {
if ((count&1) == 0) {
pi = pi - 1 / n;
} else {
pi = pi + 1 / n;
}
n = n + 2;
count++;
}
out.print(pi*4); //why is it printing out pi=1?????
Run Code Online (Sandbox Code Playgroud) 在Java中,当我使用此语句时:
final int nr = 10;
Run Code Online (Sandbox Code Playgroud)
我一直宣称不变.
在其他语言的书籍中,例如C#或C++,我们可以使用const.
该关键字const被称为类型限定符,因为它是一个修改和细化变量属性的属性.
因此,类似的语句const int nr = 10;是一个常量整数,因为"const qualified int".
但是,JLS从未被引用final为类型限定符,但通常表示为修饰符(类型修饰符?).
但修饰者是什么?变量?那种?
所以,最后,我的问题是:最终是一个类型限定符?
该算法交换两个整数的值x和y不使用tmp的变量是
x = x + y;
y = x - y;
x = x - y;
Run Code Online (Sandbox Code Playgroud)
我编写了一个代码来通过将数组传递给方法来对数组进行排序.该方法接受指针中的数组*ptr.因此,arr[0], arr[1],...可以使用指针变量as来访问数组的元素*(ptr + 0), *(ptr + 1),....但是,我面临的问题是,当我尝试通过使用指针引用内存位置进行排序时交换数组的值,而不使用临时变量,数组不会按照我期望的方式进行排序.相反,我看到一些随机元素被插入到数组中.
这是我的数组排序代码(选择排序 - 排序算法是正确的):
void sort(int *arr, int n){
int i,j,m;
for(i=0; i<n-1; i++){
m = i;
for(j=i+1; j<n; j++){
if(arr[j] < arr[m])
m = j;
}
//swapping arr[i] and arr[m]
*(arr + i) = *(arr + i) + *(arr + m);
*(arr + …Run Code Online (Sandbox Code Playgroud) 我有一个二维数组,所以是一个数组数组。数组的数组不具有相同的长度。这里有一个例子:
double[][] multi = new double[][] {
{ 10, 20, 30, 40, 50 },
{ 1.1, 2.2, 3.3, 4.4 },
{ 1.2, 3.2 },
{ 1, 2, 3, 4, 5, 6, 7, 8, 9 }
};
Run Code Online (Sandbox Code Playgroud)
如何遍历列?(我爱:10 1.1 1.2 1)