我对异常处理的理解很差(即,如何根据自己的目的自定义throw,try,catch语句).
例如,我已经定义了一个函数如下: int compare(int a, int b){...}
当a或b为负时,我希望函数抛出一些带有异常消息的异常.
我应该如何在函数的定义中处理这个问题?
数字上的0x前缀是什么意思?
const int shared_segment_size = 0x6400;
Run Code Online (Sandbox Code Playgroud)
它来自C程序.我不记得它的x含义,特别是这封信的含义.
给你N块高度1 ... N. 您可以通过多少种方式将这些块排成一排,这样当从左侧看时,您只能看到L个块(其余部分被较高的块隐藏),从右侧看时您只看到R块?给出的例子N=3, L=2, R=1只有一种安排,{2, 1, 3}而N=3, L=2, R=2有两种方式{1, 3, 2}和{2, 3, 1}.
我们应该如何通过编程解决这个问题?任何有效的方法?
我有一个CS课程的作业,它说要读取一个包含多个考试成绩的文件,并要求我对它们进行求和.虽然求和和平均很容易,但我在阅读文件方面遇到了问题.讲师说要使用这种语法
Scanner scores=new Scanner(new File("scores.dat"));
Run Code Online (Sandbox Code Playgroud)
但是,这会抛出一个FileNotFoundException,但是我一遍又一遍地查看当前文件夹中是否存在该文件,之后,我认为它必须对权限做一些事情.我为每个人更改了读写权限,但它仍然无法正常工作,但仍然会抛出错误.有谁知道为什么会这样?
编辑:它实际上是指向一个目录,但是,我已经解决了这个问题.file.exists()返回true,但是,当我尝试将它放入扫描程序时,它会抛出filenotfoundexception
这是我的所有代码
import java.util.Scanner;
import java.io.*;
public class readInt{
public static void main(String args[]){
File file=new File("lines.txt");
System.out.println(file.exists());
Scanner scan=new Scanner(file);
}
}
Run Code Online (Sandbox Code Playgroud) 我知道字符串的起始地址(例如char* buf)和字符串的最大长度int l;(即字符总数小于或等于l).
string从指定的内存段获取值的最简单方法是什么?换句话说,如何实施string retrieveString(char* buf, int l);.
编辑:内存保留用于写入和读取可变长度的字符串.换句话说,int l;表示内存的大小而不是字符串的长度.
public class Constant {
......
public enum Status {
ERROR,
WARNING,
NORMAL
}
......
}
Run Code Online (Sandbox Code Playgroud)
编译后,我得到了一个名为Constant $ Status.class的类文件.问题是,如何访问枚举值.例如,我想获得ERROR状态的字符串表示.
调试宏可能需要很长时间.我们最好避免使用它们,除非在非常罕见的情况下,常量,函数和模板都不能达到我们想要的效果.
什么是罕见的情况?
我创建了一个类并重写了equals()方法.当我使用时assertTrue(obj1.equals(obj2)),它将通过测试; 但是,assertEquals(obj1, obj2)测试将失败.有人可以告诉原因吗?
Java String trim不会为我删除空格字符.
String rank = (some method);
System.out.println("(" + rank + ")");
Run Code Online (Sandbox Code Playgroud)
输出是(1 ).注意1右边的空格.
我必须从字符串中删除尾随空格,rank但既不删除它rank.trim()也不rank.replace(" ","")删除它.
rank无论哪种方式,字符串都保持不变.
编辑:完整代码 ::
Document doc = Jsoup.connect("http://www.4icu.org/ca/").timeout(1000000).get();
Element table = doc.select("table").get(7);
Elements rows = table.select("tr");
for (Element row: rows) {
String rank = row.select("span").first().text().trim();
System.out.println("("+rank+")");
}
Run Code Online (Sandbox Code Playgroud)
为什么我不能删除那个空间?
我试图在ubuntu 11.04上编译以下代码:
#include <boost/interprocess/shared_memory_object.hpp>
#include <iostream>
int main()
{
boost::interprocess::shared_memory_object shdmem(boost::interprocess::open_or_create, "Highscore", boost::interprocess::read_write);
shdmem.truncate(1024);
std::cout << shdmem.get_name() << std::endl;
boost::interprocess::offset_t size;
if (shdmem.get_size(size))
std::cout << size << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
只是为了得到以下错误:
/tmp/cc786obC.o: In function `boost::interprocess::shared_memory_object::priv_open_or_create(boost::interprocess::detail::create_enum_t, char const*, boost::interprocess::mode_t, boost::interprocess::permissions const&)':
shared_memory.cpp:(.text._ZN5boost12interprocess20shared_memory_object19priv_open_or_createENS0_6detail13create_enum_tEPKcNS0_6mode_tERKNS0_11permissionsE[boost::interprocess::shared_memory_object::priv_open_or_create(boost::interprocess::detail::create_enum_t, char const*, boost::interprocess::mode_t, boost::interprocess::permissions const&)]+0xe0): undefined reference to `shm_open'
shared_memory.cpp:(.text._ZN5boost12interprocess20shared_memory_object19priv_open_or_createENS0_6detail13create_enum_tEPKcNS0_6mode_tERKNS0_11permissionsE[boost::interprocess::shared_memory_object::priv_open_or_create(boost::interprocess::detail::create_enum_t, char const*, boost::interprocess::mode_t, boost::interprocess::permissions const&)]+0x116): undefined reference to `shm_open'
shared_memory.cpp:(.text._ZN5boost12interprocess20shared_memory_object19priv_open_or_createENS0_6detail13create_enum_tEPKcNS0_6mode_tERKNS0_11permissionsE[boost::interprocess::shared_memory_object::priv_open_or_create(boost::interprocess::detail::create_enum_t, char const*, boost::interprocess::mode_t, boost::interprocess::permissions const&)]+0x16c): undefined reference to `shm_open'
shared_memory.cpp:(.text._ZN5boost12interprocess20shared_memory_object19priv_open_or_createENS0_6detail13create_enum_tEPKcNS0_6mode_tERKNS0_11permissionsE[boost::interprocess::shared_memory_object::priv_open_or_create(boost::interprocess::detail::create_enum_t, char const*, boost::interprocess::mode_t, boost::interprocess::permissions const&)]+0x1c0): undefined reference to `shm_open'
collect2: …Run Code Online (Sandbox Code Playgroud)